私は現在GLSLを学んでいます。シェーダー言語の1つを学習したら、他の言語の1つを学習することはそれほど難しくないように思われます。これは、wxWidgetsなどのウィジェットツールセットを学習してからQtに切り替えることに似ていますか?あるウィジェットツールセット内で何が起こっているかを理解すると、別のツールセットは、ある時点で最終的にほぼ同じことを実行するため、同様のことを実行しますか?あるシェーダー言語から別のシェーダー言語に移行したときの経験は何ですか?
5 に答える
CgとHLSLはほとんど同じです(同じ組み込み関数名)。GLSLの外観と感触は少し異なりますが(つまり、 -like関数を使用するmix
代わりに)、全体的な移行は簡単です。唯一の違いは、詳細とそれぞれのAPI(つまり、マトリックスの保存順序など)にあります。lerp
main
シェーディング言語の切り替えは、GUIツールキットの切り替えよりもはるかに簡単です…
HLSLにはGLSLとはいくつかの違いがあります。私が読んだものとあまり変わらない。そこにいくつかの翻訳ツールがあります。SourcesプロジェクトHLSLToGLSLツールがあります。また、NVidiaCgツールキットはHLSLまたはGLSLを生成できると思います。
私のわずかに限られた経験では、彼らは非常に非常に似ており、それらを切り替えることは問題ではないということで、ここにいるすべての人に同意します。ただし、ほとんどのOpenGL / DirectXの衝突の場合と同様に、HLSlには、もう少し楽しく使用できる便利な関数がいくつかあることに注意してください。ここでは、飽和状態などの小さなことを話します。ただし、入力の受け渡しなどの小さな構造上の違いを除けば、基本的な概念は100パーセント同じです。
楽しみ!シェーダーはとても楽しいです。
その通りです。GLSL/HLSL/ Cgシェーディング言語はCプログラミング言語のサブセットであるため、非常によく似ています。
directx3dの起源はopenglにあります。マイクロソフトは、opengl apiを特定のポイントに再プログラムしました。これにより、言語は類似しているはずです。