翔泳社の公式通販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)

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

関連商品

おうちで学べる Pythonのきほん

2,420円(税込)

2024.05.20発売

おうちで学べる Pythonのきほん【PDF版】

2,420円(税込)

2024.05.20発売

おすすめ特集

法人・教育機関のお客様へ

【法人・教育機関のお客様へ】新年度の大口注文・お見積りなど、お気軽にご相談ください

Webデザイン特集

デザインやコーディングなど、Webデザインに役立つスキルが身につく書籍を揃えました

生成AI特集

テキスト生成、画像生成、動画生成など、生成AI活用のスキルが身につく本をご紹介

新社会人におすすめの本

新社会人の役に立つスキルが身につく本。ビジネスパーソンとしてスタートダッシュを切ろう!

プログラミング教育の本

小学校から必修化!人気の『ルビィのぼうけん』ほかプログラミング教育の本はこちら

翔泳社のセミナー・講座

開発・ビジネス・マーケティング・EC運営・営業支援など、幅広いジャンルの講座を開催

特集をもっと見る