フォト

Google AdSense


  • AdSense
無料ブログはココログ

« Microsoft Wireless Notebook Optical Mouse | トップページ | dynabook V9 メモリモジュール不良 »

2004.11.01

”Programming Vertex and Pixel Shaders ”初見

Programming Vertex and Pixel Shaders ”ですが、さきほど届きました。

vsps.jpg

本の簡単な紹介、

1.Introduction
ここでは、Direct3Dのシェーダプログラミングの準備としてVisual Studio.NETやDirectX SDKのインストールやセッティングが書かれてます。あとは、シェーダデバッグやら開発の推奨環境とか(XP Homeがdebug runtimeをサポートしないのは初めて知った…)。

・Direct3D Pipeline
ここではパイプラインの仕組みについてかかれてますね。カリングのタイミングとかトライアングルセットアップとかちゃんとかかれてますね。新しいだけにすでにX800やGeForce 6800に触れられてますね。

・HLSL Shader Programming
この章では、実際にHLSLを利用する上でのDirect3D側のVertex Declarationとか、ジオメトリインスタンシングでもおなじみのVertex Stream Frequencyについても図解で説明があります。

ピクセルシェーダについてもCENTROIDとかの新しい話題が書いてありますね。

あと、主要なカードのシェーダバージョンの一覧(ParheliaやWildcat VP10もある!!)

この章の後半でHLSLそのものに触れられています。

あと、DXSAS(DirectX Standard Semantics and Annotations)についてもちゃんと触れられています。スクリプトもちゃんと説明されてますし。FX Composer 1.5の話題なんかもあるようですね。

2.Lighting Algorithms
ここでは、非常にベーシックなライティングからについてのサンプルがあります。

まずはベーシックな手法のアンビエント、ディフューズ、スペキュラー(Phongまで)の実装と理論が紹介されています。

続いて、バンプマップ、パララックスマッピング、セルフシャドウと続きます。

そのあとで、光源(ポイントライトとかスポットライトとか)の話になって。

最後が半球ライティングとなってます。

3.Advanced Reflectance Algorithms
ここではより発展的な反射のアルゴリズムが解説されています。

・Cook-Torrance Reflection
・Oren-Nayar Reflaction
・Ward Reflection Model
・Ashikhmin-Shirley Reflection Model

となってます。

4.Environment Cube Mapping
ここでは、キューブマップの構築の話から、キューブ環境マップ、HDRキューブ環境マップが解説されています。

5.High Dynamic Range Lighting
ここでは、まずは露出の話から、各チャンネル8bitでの比較的古いハードウェア(PS1.x)でも動く擬似的なHDRの手法、ちゃんとしたHDRライティングと続きます。

最後にはより発展的なトーンマッピング手法の解説で締められています。

6.Projective Texture Mapping
ここは1章で1トピックですが、射影テクスチャマッピングの話ですね。

余談ですが、ここでのサンプルのテクスチャがShaderXですねぇ。

7.Shadows
2章ではライティングと”陰”の話がありますが、こちらでは”影”を扱っています。ここではよく知られてる、Shadow Mapping と Volume Shadowの2つのトピックが紹介されています。

8.Vertex Texture
この章の存在は意外でした(本ではアセンブラではなく、HLSLで書かれてる。サンプルは両方ある)。とりあえずディスプレースメントマッピング(私のTips + 法線の算出がちゃんと書いてありますね)と"Geometry Image"の2つのトピックがあります。

"Geometry Image"はちょっと不勉強で知らなかったんで元の論文のあるページをリンクして置きます(下記からお探しください)。それにしてもHugues Hoppe氏も共同研究者のようですが、リアルタイムのジオメトリ処理については氏の功績は大きいですよねぇ…。

David Xianfeng Gu
http://www.cise.ufl.edu/~gu/

9.Shaders as Part of Graphics Engine
ここが最終章ですが、ここではゲームエンジンへのプログラマブルシェーダの組み込みの話が解説されています。

Afterword
ここでは、章には加わってませんが補足的なトピックが2つあります。1つは付属のCD-ROMのための章なので割愛します。

・Appendix A vs_3_0/ps_3_0 Assembly
ここではシェーダモデル3.0の利用について解説されています。買う前の予想と違ったのが、別にアセンブラで解説がされてるのではなく、HLSLについてもちゃんとか書かれています。

・総評
予想以上のボリュームの本でした。個人的には、結構”当たり”の本ですね。とりあえずDirectX 9.0 Update Summer 2004で加わった新要素もちゃんと書かれてるのがいいですね。なので、本当の意味で現時点での”最新”(大抵は”最新”なんて書くと書いた時点で最新でも発売された時点では陳腐化している)を知るには良い書籍だと思います。★★★★★かな?英語を苦にしなくて和書が物足りなければどうぞ。

Programming Vertex and Pixel Shaders (Programming Series)
Wolfgang Engel

Charles River Media
2004-09-30
売り上げランキング 55,353


Amazonで詳しく見るby G-Tools

« Microsoft Wireless Notebook Optical Mouse | トップページ | dynabook V9 メモリモジュール不良 »

Amazon」カテゴリの記事

Programming」カテゴリの記事

書籍・雑誌」カテゴリの記事

画像付き」カテゴリの記事

コメント

コメントを書く

コメントは記事投稿者が公開するまで表示されません。

(ウェブ上には掲載しません)

トラックバック

この記事のトラックバックURL:
http://app.cocolog-nifty.com/t/trackback/2210/1828106

この記事へのトラックバック一覧です: ”Programming Vertex and Pixel Shaders ”初見:

« Microsoft Wireless Notebook Optical Mouse | トップページ | dynabook V9 メモリモジュール不良 »