3

OpenGL アプリケーションにジオメトリ シェーダーを導入しました。私のシェーダーには、頂点シェーダーからフラグメント シェーダーに渡す "さまざまな" 変数がかなりあります。ジオメトリ シェーダーを導入したので、各頂点のジオメトリ シェーダーのさまざまな値をすべて手動で渡す必要があります。それを回避して「自動的に」行う方法はありますか?

4

2 に答える 2

2

いいえ、noop ジオメトリ シェーダ以外にこれを行うための賢明な方法がないためです。ジオメトリ シェーダがジオメトリに対して何もしていない場合、そもそもなぜそれが有効になっているのでしょうか?

一般に、ジオメトリ シェーダーは多数の頂点を入力として受け取り、(異なる) 多数の頂点を出力として生成します。では、どの入力頂点をどの出力頂点に「自動的に」マッピングする必要があるのでしょうか?

于 2012-04-06T00:36:20.957 に答える
2

いいえ。

パイプラインにジオメトリ シェーダーを導入するとすぐに、頂点シェーダーからフラグメント シェーダーに変数を渡したい場合は、頂点シェーダーから入力変数を作成し、フラグメント シェーダーに出力変数を作成して、変数を手動で渡す必要があります。使用している GLSL のバージョンはわかりませんが、GLSL 3.30 仕様のセクション 4.3.4 を確認してください。

于 2012-04-05T18:25:00.043 に答える