2011-05-29 26 views
0

现在我可以通过做知道您使用GLSL的哪个像素或UV?

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

获取相邻像素的颜色,但我怎么能知道是或至少在纹理像素的电流UV像素是什么?

片段的哪个像素。 UV/ST是代表整个纹理的从0到1的数字。

我想根据点距离来计算像素亮度。

+0

像素着色器中的哪个像素?什么是像素的紫外线? – 2011-05-29 13:17:32

+0

@VJo片段的哪个像素。 UV/ST是代表整个纹理的从0到1的数字。 – jmasterx 2011-05-29 13:30:53

回答

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[]; 

,但我不知道它,如果它可用于像素着色器。

相关问题