基本上,我想为三角形的每个角提供 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 来让它工作,但这是最好的方法吗?我想听听更多关于这方面的想法。