Как применить пиксельный шейдер glsl к текстуре? - PullRequest
0 голосов
/ 30 июня 2018

У меня есть текстура, и я хотел бы применить к ней glsl шейдер. Возможно ли это и как это сделать? Например, я хочу применить этот glsl шейдер к моей текстуре:

varying vec4 coord;

uniform sampler2D texture;
uniform float opacity;

void main() {
  vec4 col = texture2D(texture, coord.xy);
  col.a *= opacity;

    gl_FragColor = col;

}

1 Ответ

0 голосов
/ 01 июля 2018

Я бы сказал, создать еще одну пустую текстуру с аналогичными свойствами исходной текстуры. Прикрепите эту текстуру к fbo и отправьте fbo и оригинальную текстуру в шейдер. Генерация полного четырехпроходного размера текстуры. Чтение текселей из исходной текстуры в шейдере, применение кода из фрагментного шейдера и запись значения в прикрепленную текстуру fbo с помощью gl_FragCoord. И tge прикрепленная текстура - результат, который вы хотите.

...