基本的に、三角形の各コーナーに 3 つのテクスチャを指定し、コーナーの glColor() で色が補間されるように、あるテクスチャから別のテクスチャに補間したいと考えています。
編集:これはテクスチャ コンバイナでは不可能と思われるため、シェーダで実行したいと考えています。
これは私が今持っているフラグメントシェーダーコードです:
vec4 c = gl_Color;
gl_FragColor = texture2D(Texture0, TexCoord0)*c.r+texture2D(Texture1, TexCoord1)*c.g+texture2D(Texture2, TexCoord2)*c.b;
glColor(); を使用しています。色 (1,0,0)、(0,1,0)、(0,0,1) を各三角形の角にプッシュし、色を読み取って、それに応じてどのテクスチャをどれだけブレンドする必要があるかを確認します.
問題は、頂点に色を使用できなくなったことです。そのため、フラグメントシェーダーにテクスチャをブレンドする方法を伝えるための最良のアプローチは何か、三角形の各コーナーで glColor() を使用していくつかを適用できることを尋ねています。着色?
Edit2:ブレンド比率を伝える 3D texcoord を送信することでなんとか機能させることができましたが、これが最善のアプローチですか? これについてもっとアイデアを聞きたいです。