gl_fragColor с несколькими текстурами - PullRequest
0 голосов
/ 29 августа 2011

В настоящее время у меня есть две текстуры, которые применяются к одному объекту. В конце концов, к этому добавится еще пара, но у меня возникли проблемы с правильной работой текущих двух.

В данный момент я устанавливаю свой fragcolor для двух изображений, добавленных вместе. Буквально все, что я делаю, что-то похожее на:

gl_FragColor = texture1 + texture2;

Я уверен, что есть лучший способ сделать такие вещи для начала, но это также создает проблему, когда изображения накладываются друг на друга (очевидно), что не то, что я пытаюсь сделать с моим текущим проектом ,

Я не уверен, что это просто проблема только с моим fragColor, где есть какая-то встроенная функция GLSL, чтобы сделать что-то подобное, или мне нужно сделать что-то вроде комбинирования изображений перед использованием каким-либо другим способом.

EDIT :: Пример добавления цвета, который я имел в виду: http://i.imgur.com/0vH4F.png

1 Ответ

2 голосов
/ 29 августа 2011

Я так понимаю, вы хотите смешать две текстуры в шейдере вместо того, чтобы делать это с обычным смешиванием. Я думаю, что-то вроде этого должно сработать - вы, вероятно, можете упростить это, если сделаете предположения.

gl_FragColor = backgroundcolor;
gl_FragColor = (gl_FragColor*(1-texture1.a))+(texture1*texture1.a);
gl_FragColor = (gl_FragColor*(1-texture2.a))+(texture2*texture2.a);

EDIT:

Окончательный ответ здесь заключался в регулярном смешивании, а не смешивании в фрагментном шейдере.

...