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