GLSLの新しいバージョンでは、標準の組み込み属性とユニフォームの量が削減されます。 gl_Color
およびgl_ModelViewMatrix
はGLES 2.0に含まれていません。GLSLの属性のオーバーライド
これらの名前をオーバーライドし、シェーダー内で別の変数タイプに再定義しても問題ありませんか?あなた自身で設定した場合、初期のGLSLバージョンで動作するときに、自分自身でgl_ModelViewMatrix
が統一されていると宣言しますか?早期GLSLで
gl_Color
は、クライアントがglColor()
またはglColorPointer()
呼び出された場合に応じて、頂点ごとまたは全通話のためにすることができます - あなたは、実際にはそれように、一度属性を設定することができます均一になりますか?またはこのあいまいさに対処する方法は?
(これは、すべてのロード時にいくつかの簡単な検索・置換するスクリプトとターゲットの範囲を越えて動作シェーダを作るための探求である)
残念ながら私は論文を見つけることができませんが、私は」でシェーダを付加しますこれが正しいと確信しています。 –
OpenGL-3コアおよびGLSL 1.40標準では、カスタム変数に 'gl_'というプレフィックスを付けて名前を付けることはできません。ただし、プリプロセッサのトリッキーを使い、 "再導入"することは可能です。 – datenwolf
@datenwolfはい私の計画だったが、私はちょっとgl_Colorに固執している – Will