Зная, какой пиксель или ультрафиолет вы используете с GLSL? - PullRequest
0 голосов
/ 29 мая 2011

Прямо сейчас я могу получить цвет соседнего пикселя, выполнив

color = texture2D(backBuffer, vec2(gl_TexCoord[0].x + i,gl_TexCoord[0].y + j);

Но как я могу узнать, какой это пиксель или, по крайней мере, текущее значение uv этого пикселя на текстуре?

Какой пиксель фрагмента.UV / ST - это число от 0 до 1, представляющее всю текстуру.

Я хочу рассчитать яркость пикселей на основе их расстояния от точки.

1 Ответ

2 голосов
/ 29 мая 2011

gl_TexCoord[0].x дает вам координату текстуры s, а gl_TexCoord[0].y дает координату текстуры s.

Если вы пишете фрагментный шейдер, положение пикселя не должно иметь значения.Я не пробовал, но, возможно, вы можете получить его, используя gl_in, который определяется как:

in gl_PerVertex {
vec4 gl_Position;
float gl_PointSize;
float gl_ClipDistance[];
} gl_in[];

, но я не уверен, что он доступен для пиксельных шейдеров.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...