計算シェーダ

月曜日〜金曜日、日、時間の更新の午前7時北京時間 -

この章の最初のセクションは、OpenGL(この章の最初の部分は、OpenGLグラフィックス・パイプラインを記述する)でグラフィックス・パイプラインを記述する。しかし、OpenGLはまた、計算シェーダステージ(OpenGLの計算シェーダステージ同じを含む)、ほぼことができる含みますindepdendently他のグラフィック指向の段階(この段階では、パイプラインステージをレンダリングする他のグラフィックに関連していない別の操作は、任意の接触を持っている)の走る別のパイプラインとして考える。計算シェーダがが持つ計算能力で取得する方法ですシステム内のグラフィックス・プロセッサ(計算シェーダオブジェクトは、プログラマが電源グラフィックカードをコンピューティング得るようにすることである)。グラフィック中心の頂点、テッセレーション、ジオメトリ、及びフラグメントシェーダとは異なり、計算シェーダは、シングル、特別として考えることができ各計算シェーダへのすべての自分でステージのパイプライン(他のシェーダとは異なり、計算シェーダは別個のモジュールとして考えることができる)。各計算シェーダはワークアイテムとして知られる単一の作業単位で動作する(各番号 )作業対象としてのユニットによれば、これらの項目であり、次に、一緒にローカルワークグループと呼ばれる小さなグループに収集された(オブジェクトを働く人々がローカル・ワーキング・グループと呼ばれる、グループに編成されている)。これらのワークグループのコレクションを処理するのOpenGLの計算パイプラインに送信することができます(たとえば、ローカルの作業グループの多数に送信することができますOpenGLは、処理のためコンピュートシェーダ処理段階である)。コンピュートシェーダが、シェーダを伝えるためにその仕事の一部を除いて(作業中の項目シェーダを伝えるために、組み込みの変数の一握り以外の任意の固定入力または出力を持っていませんいくつかの組み込み制御可変オブジェクト、このシェーダないデータを任意の固定された入力および出力)より。コンピュートシェーダによって実行されるすべての処理が明示的ではなく、後続のパイプラインステージによって消費されるよりも、シェーダ自体によってメモリに書き込まれる(任意データ)がなく、他のシェーダより、出力データがレンダリングステージの後ろに入力として処理され、完了している独自のシェーダディスプレイのメモリに書き込まれる。非常に基本的な計算シェーダ3.13(Listing3.13ショーリストに示されています 基本的な計算シェーダ)

#version 450コア
レイアウト(local_size_x = 32、local_size_y = 32)において、
無効メイン(無効)
{
//何もしない
}
3.13リスト:シンプルがdo-nothingコンピュートシェーダ

計算シェーダだけで(他のシェーダのようなコンピュートシェーダ同じ)のOpenGLの他のシェーダーのステージのようなそうでない場合があります。1をコンパイルするには、(glShaderSourceでそれにyourGLSLソースコードを添付し、型GL_COMPUTE_SHADERとシェーダオブジェクトを作成します)、それをコンパイルglCompileShader()した後、(glAttachShaderでプログラムにリンク)とglLinkProgram()と(あなたが、リンクはGPUプログラムになるためにシェーダを作成し、シェーダのソースに添付し、それをコンパイルする必要があります)。結果は、プログラムがありますあなたのための仕事をするために起動することができ、その中にコンパイルコンピュートシェーダを持つオブジェクト(後のコンパイルには、大規模並列コンピューティングのために使用することができます)

リスト3.13でのシェーダは、ローカルワークグループの大きさは32×32のワークアイテムになることをOpenGLを伝えたが、その後32×32であるローカルの作業グループの大きさを伝えるためにOpenGLで(コードにListing3.13を何もしない進行するが、シェーダその結果、 )しませんでした。実際に何か役に立つんコンピュートシェーダを作成するには、あなたが最初にする必要があり、OpenGLは、私たちは、後で本の中で、このトピックを再訪(と何かをするコンピュートシェーダを作成するためによについて少し詳細を知る必要があります)のOpenGLを学ぶので、私たちは以下のページでは、このトピックに戻ってきます

この日の翻訳は〜さようなら、明日お会いし、ここで取得します

最新のプロットを初めて取得し、東漢アカデミーと公共グラフィック番の心に注意を払ってください。

ハン・カレッジ、あなたはああをプレイするのを待ちます

おすすめ

転載: blog.51cto.com/battlefire/2423323