По сути, я хочу дать 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-текстовую координату, которая сообщает коэффициенты смешивания, но разве это лучший подход?Я хотел бы услышать больше идей по этому поводу.