OpenGL ES 2.0では、コンパイルされた頂点/フラグメントシェーダーを複数のリンクされたプログラムで使用できますか?
たとえば、1つのコンパイル済み頂点シェーダーと5つのコンパイル済みフラグメントシェーダーがあるとします。5つの異なるプログラム(vsh1 + fsh1、vsh1 + fsh2など)を作成できますか?
私の知る限り、これは可能であるはずですが、質問するのは決して痛いことではありません。
ありがとう
OpenGL ES 2.0では、コンパイルされた頂点/フラグメントシェーダーを複数のリンクされたプログラムで使用できますか?
たとえば、1つのコンパイル済み頂点シェーダーと5つのコンパイル済みフラグメントシェーダーがあるとします。5つの異なるプログラム(vsh1 + fsh1、vsh1 + fsh2など)を作成できますか?
私の知る限り、これは可能であるはずですが、質問するのは決して痛いことではありません。
ありがとう
はい、できますが、私が理解しているように、すべてのユニフォームを個別に設定する必要があります。これが分離可能なプログラムが生まれた理由だと思いますが、Es 2.0(OpenGL 4.0の機能)ではそれらにアクセスできないので、これが唯一の方法だと思います。
ここでそれについてのいくつかの議論。