翔泳社の公式通販SEshopは全国送料無料!
ヘルプ 法人のお客様へ 新規会員登録 ログイン
SEshop

HLSL シェーダーの魔導書 シェーディングの基礎からレイトレーシングまで

清原 隆行(著)

商品番号
164280
販売状態
発売中
納品形態
宅配便にてお届け
発売日
2021年06月09日
出荷開始日
2021年06月08日
ISBN
9784798164281
判型
B5変
ページ数
584
キーワード
プログラミング  ゲーム  Unity  3D

5,060円(税込)(本体4,600円+税10%)
送料無料

460pt (10%)
ポイントの使い方はこちら

在庫あり

初回購入から使えるポイント500円分プレゼント

電子書籍はこちら

※1点の税込金額となります。 複数の商品をご購入いただいた場合のお支払金額は、 単品の税込金額の合計額とは異なる場合がございますので、予めご了承ください。

  • ポスト

光を自在に操るための
基本の技術を手に入れろ。

DirectXだけでなくUnityでも使われているシェーダー言語HLSL。
本書は、グラフィックスプログラマやテクニカルアーティストをめざす人が、
ハンズオン形式の豊富なサンプルを使って、3Dグラフィックを演出するシェーディング技術を
学ぶための教科書です。

本書では、サンプルプログラムとして、DirectX 12のコーディングをほとんど意識せず、
HLSLプログラミングに集中できるようなミニエンジンが提供されます。

シェーダーの基礎であるレンダリングパイプラインから、最新技術であるレイトレーシングまで、
本書を読めば、あなたもグラフィックスプログラマの仲間入りです!

~本書の内容~
・Chapter 1:レンダリングパイプライン入門
・Chapter 2:はじめてのシェーダー
・Chapter 3:シェーダープログラミングの基本(2)
・Chapter 4:ライティング基礎
・Chapter 5:ライティング発展
・Chapter 6:さまざまなテクスチャの利用
・Chapter 7:PBR(物理ベースレンダリング)
・Chapter 8:2D描画の基礎
・Chapter 9:発展的な2D描画
・Chapter 10:ポストエフェクト
・Chapter 11:シャドウイング
・Chapter 12:ディファードレンダリング
・Chapter 13:ディファードレンダリングとフォワードレンダリングの融合
・Chapter 14:3Dゲームで使える発展的シェーダー
・Chapter 15:コンピュートシェーダー
・Chapter 16:TBR(Tile Based Rendering)
・Chapter 17:レイトレーシング

多彩な表現を手に入れたい人のための新しい教科書

光を自在に操るための基本の技術

DirectXだけでなくUnityでも使われているシェーダー言語HLSL。本書は、グラフィックスプログラマやテクニカルアーティストをめざす人が、ハンズオン形式の豊富なサンプルを使って、3Dグラフィックを演出するシェーディング技術を学ぶための教科書です。シェーダーの基礎であるレンダリングパイプラインから、最新技術であるレイトレーシングまで、本書を読めば、あなたもグラフィックスプログラマの仲間入りです!

多彩な表現を手に入れよう!

PBR(物理ベースレンダリング)

PBR(物理ベースレンダリング)

現在のハイエンドゲームのライティングの計算のディファクトスタンダード(事実上の標準)になっている、PBR(物理ベースレンダリング)について見ていきます。「PBR」や「物理ベースレンダリング」についてインターネットなどで調べると、難しい話がたくさん出ますが、本書では難しい言葉はできるだけ使わずに、かみ砕いて説明します。

ポストエフェクト

ポストエフェクト

最近の3Dゲームでは、カメラのピンボケ現象をシミュレーションする被写界深度や、光があふれ出るブルームといわれる現象を疑似的に再現しています。これらはポストエフェクトと呼ばれる手法で実現されています。本書では、ポストエフェクトの基礎となるオフスクリーンレンダリングについて説明したあとで、モノクロ化、ブルーム、被写界深度など、いくつかのポストエフェクトを紹介します。

シャドウイング

シャドウイング

3Dゲームでリアルなグラフィックスを実現するためには、「影(シャドウ) 」が非常に重要な要素です。また、影はグラフィックスの質という側面だけではなく、3Dオブジェクトが空間上でどこにあるかをユーザーに教えるための重要な要素となります。本書では、影描画の基本となる、古典的な影生成アルゴリズムの「投影シャドウ」について説明します。

ディファードレンダリング

ディファードレンダリング

ディファードレンダリングはXbox 360やPlayStation 3の頃に生まれたレンダリング手法であり、比較的新しい手法だといえます。特にPlayStation 3はこの手法に向いたアーキテクチャだったため、ディファードレンダリングが採用されたゲームがいくつもありました。本書では、現在の主流になってきているレンダリング手法、ディファードレンダリングについて見ていきます。

コンピュートシェーダー

コンピュートシェーダー

DirectX 9までは、これら2つのシェーダーステージしか用意されていませんでした。しかし、DirectX 10からは「GPUに汎用的な処理を行わせるプログラムを簡単に記述したい」という開発者の要望に応える形で、DirectComputeという名称のAPIが提供され、コンピュートシェーダーという新しいシェーダーステージが追加されました。コンピュートシェーダーはHLSLで記述でき、非常に柔軟に計算結果を出力できるようになっています。

レイトレーシング

レイトレーシング

レイトレーシング法(レイトレーシング、レイトレ)とは光の伝搬をシミュレーションすることによって、非常にリアルなコンピューターグラフィックスを表現する一般的な手法の1つです。本書では、PlayStation 5など次世代のリアルタイムCGプログラミングで重要な要素となるレイトレーシングについて見ていきます。

開発環境、動作環境について

推奨動作環境

本書では、開発環境としてWindows 10上のVisual Studio 2019を使用しています。

また、動作環境として、ゲーミングPCなど、一定レベル以上の環境が必要となります。例として、動作確認を行った環境としては以下のようなものです。

  • CPU:Intel Core i7 9750H(2.60GHz、6コア)
  • RAM:16.0GB
  • GPU:NVIDIA GeForce RTX 2060(6GB)

※ Chapter 17で扱うDirectX Raytracing(DXR)が動作するためには、 GeForce GTX 1060もしくはGeForce GTX 1660以上のグラフィックスボード(GPU)が必要です。

Chapter 1 レンダリングパイプライン入門
1.1 CPUとGPU
1.2 メインメモリとグラフィックスメモリ
1.3 絵が表示されるまでの流れ

Chapter 2 はじめてのシェーダー
2.1 DirectX 7.1以前のレンダリングパイプライン
2.2 シェーダーの導入
2.3 頂点シェーダー入門
2.4 ピクセルシェーダー入門

Chapter 3 シェーダープログラミングの基本
3.1 座標変換
3.2 テクスチャマッピング
3.3 複雑な3Dモデルの表示へ

Chapter 4 ライティング基礎
4.1 ライティングなしの3Dモデル表示
4.2 ライトの種類
4.3 反射:Phongの反射モデル

Chapter 5 ライティング発展
5.1 ポイントライト
5.2 スポットライト
5.3 リムライト
5.4 半球ライト

Chapter 6 さまざまなテクスチャの利用
6.1 法線マップ
6.2 スペキュラマップ
6.3 アンビエントオクルージョンマップ(AOマップ)

Chapter 7 PBR(物理ベースレンダリング)
7.1 PBRとは
7.2 ディズニーの論文によるPBR

Chapter 8 2D描画の基礎
8.1 DirectX 12で2D描画
8.2 2D表示
8.3 αブレンディング

Chapter 9 発展的な2D描画
9.1 リニアワイプ
9.2 その他のワイプ
9.3 画像の色を変化させる

Chapter 10 ポストエフェクト
10.1 オフスクリーンレンダリング
10.2 モノクロ化
10.3 ブラー
10.4 ブルーム
10.5 川瀬式ブルームフィルター
10.6 被写界深度
10.7 カメラの絞りによる六角形ブラー

Chapter 11 シャドウイング
11.1 投影シャドウ
11.2 デプスシャドウ
11.3 PCF(Percentage Closer Filtering)
11.4 VSM(Variance Shadow Maps)
11.5 カスケードシャドウ

Chapter 12 ディファードレンダリング
12.1 フォワードレンダリングとは
12.2 ディファードレンダリングとは
12.3 ディファードレンダリングのメリット
12.4 ディファードレンダリングのデメリット
12.5 ディファードレンダリング入門~拡散反射~
12.6 ディファードレンダリング入門~鏡面反射~
12.7 ディファードレンダリング入門~法線マップ~
12.8 ディファードレンダリング入門~スペキュラマップ~

Chapter 13 ディファードレンダリングとフォワードレンダリングの融合
13.1 半透明問題
13.2 ハイブリッドエンジンの実装

Chapter 14 3Dゲームで使える発展的シェーダー
14.1 レンダリングエンジン
14.2 レンダリングエンジンのカスタマイズ
14.3 輪郭線の描画
14.4 ステルス処理
14.5 ディザリング

Chapter 15 コンピュートシェーダー
15.1 GPGPUとは
15.2 コンピュートシェーダーとは
15.3 データの入力と出力
15.4 構造化バッファー
15.5 アンオーダーアクセスビューとシェーダーリソースビュー
15.6 学生の平均点を計算するプログラムを眺めてみる
15.7 合計点を出力するように改造する
15.8 標準偏差を計算する
15.9 コンピュートシェーダーの並列処理

Chapter 16 TBR(Tile Based Rendering)
16.1 ポイントライト再び
16.2 TBDR(Tile Based Deffered Rendering)
16.3 TBFR(Tile Based Forward Rendering)

Chapter 17 レイトレーシング
17.1 レイトレーシングとは
17.2 レイトレーシング法とラスタライザー法の違い
17.3 レイトレーシング超入門
17.4 テクスチャマッピング
17.5 2次反射
17.6 DirectX Raytracing(DXR)

各種問い合わせは以下のリンクからご連絡ください

関連商品

なっとく!並行処理プログラミング

3,520円(税込)

2024.11.11発売

おすすめ特集

プログラミング入門書大特集

翔泳社のプログラミング書籍の中から、入門・初級者向けの書籍をピックアップ!

Linuxおすすめ本特集

【Linux本特集】入門~達人レベルまで!クラウド時代の必須知識Linuxを学ぶおすすめの本

ライティングおすすめ本

ライティングのスキルアップにおすすめの本。Webライティングやコピーライティングなど

マネー本特集

お金と経済の基礎知識から、資産形成・投資術、お金教育や介護まで。暮らしに役立つマネー本

インテリア本特集

おしゃれな部屋作りのヒントやインテリアの基礎知識、色使い、うつわや洋食器の知識まで、幅広い書籍をご紹介

事務職におすすめの本

Excel、日商簿記、業務の自動化を実現するRPAやPythonの技術など、事務職としてステップアップしたい人に!

特集をもっと見る