HLSLを最後に学ぼうとしたとき、いくつかのシェーダーを作成し、自分がやっていることをほとんど理解しましたが、暗闇の中でつまずいているように感じました。私が学んだことのほとんどは、物事をあまりよく説明していないさまざまなブログ投稿から得たものです。
また、MSDNのドキュメントは、関数リファレンスのようです。
HLSLを書くだけでなく、シェーダーを書くためのテクニックをどこで学ぶことができますか?
HLSLを最後に学ぼうとしたとき、いくつかのシェーダーを作成し、自分がやっていることをほとんど理解しましたが、暗闇の中でつまずいているように感じました。私が学んだことのほとんどは、物事をあまりよく説明していないさまざまなブログ投稿から得たものです。
また、MSDNのドキュメントは、関数リファレンスのようです。
HLSLを書くだけでなく、シェーダーを書くためのテクニックをどこで学ぶことができますか?
回答:
これら2つは、ジェネリックシェーダーを作成するたびに一貫して次の記事に戻ることを指摘しました。
あなたが望んでいるのが単なる言語リファレンスではなく「シェーダーテクニック」(質問、人々を読む)なら、私は(簡単から上級まで)お勧めします:
そして基本的には、「長所」が物事を行う方法を吸収しながら、物事を試して練習します。または、そこから達成しようとしていることと似ているものを選んで選択します。
Cgは技術的にはHLSLではありませんが、構文的には実質的に同一です。
そうは言っても、古い本ですが、NVIDIAは「The Cg Tutorial」を無料でオンラインで読めるようにしています。プログラマブルパイプラインの基本を非常に包括的にカバーしており、最小限の労力ですべてHLSLに変換する必要があります。
編集して結果をリアルタイムで表示する場合は、このシンプルなSilverlightツールを使用できます
http://shazzam-tool.com/
Shazamm 1.3-HSLSシェーダーの編集者および前任者
Riemers.netのチュートリアル+1については、このシリーズのXNA / HLSLチュートリアルがさらに優れていることもわかりました。
以下にリストを示します。それらはすべてここにあります:http : //digitalerr0r.wordpress.com/tutorials/
いくつかのことが思い浮かびます
私が見つかりました。Riemers.netはそのXNAチュートリアルの一環として、HLSLに非常に優れた入門チュートリアルを持っています。作者のRiemer Grootjansは、推奨される本XNA 3.0 Game Programming Recipes- レシピアプローチがお好きなら。
HLSL Development Cookbookを確認することをお勧めします。本当に役立つことがわかりました。特に第3章。
HLSLについて読んでいたときに、このチュートリアルを見つけました。それがしていることのあらゆる部分を説明しようとしたので、私はそれが好きでした。
基本的なアンビエントライトシェーダーから反射やトゥーンシェーダーに至る一連のチュートリアルを見つけました。それぞれがすべての行を説明し、いくつかの数学についても少し説明しています。
どのシェーダーモデルとDirectXバージョンをターゲットにしているのかわかりませんが、Direct3D11による実用的なレンダリングと計算を強くお勧めします。この本は、DirectX11のすべての詳細、リソース、さまざまなパイプラインシェーダー、HLSL(これに特化した章全体)、およびパーティクルシステムシミュレーション、テッセレーション、画像処理、遅延レンダリングなどの実装を開始する方法について説明します。 、およびDirectCompute!
例のためにこのリンクをお勧めします:http : //www.codesampler.com/dx9src/dx9src_8.htm#dx9_hlsl_fx_simple
コードがなぜ機能しないのか、またはシェーダーをパイプラインに組み込む方法について混乱している場合は、これが良い場所です。
私にとっては、最初にGLSLを学ぶ方が簡単です。HLSLとGLSLは似ているからです。コンセプト全体、パイプライン、ハードウェア、および内部シェーダー言語の仕組みを理解したら、HLSLやCgなどの別の言語を使用するのは簡単です。
GLSLを提案するのは、openGLのオレンジと赤の本のような非常に優れた本があり、初心者にとって学習しやすいからです。