现在我可以通过
获取相邻像素的颜色color = texture2D(backBuffer, vec2(gl_TexCoord[0].x + i,gl_TexCoord[0].y + j);
但我如何知道纹理上的像素是什么或至少是该像素的当前uv?
片段的哪个像素。 UV / ST是一个从0到1的数字,代表整个纹理。
我想根据距离点的距离来计算像素亮度。
答案 0 :(得分:2)
gl_TexCoord[0].x
为您提供纹理坐标,而gl_TexCoord[0].y
则为您提供纹理坐标。
如果您正在编写片段着色器,则像素位置无关紧要。我没试过,但也许你可以使用gl_in
得到它,它被定义为:
in gl_PerVertex {
vec4 gl_Position;
float gl_PointSize;
float gl_ClipDistance[];
} gl_in[];
但我不确定它是否可用于像素着色器。