如何获得具有顶点世界位置的 vec3?
假设我想为世界空间中 Y 1 处的立方体位置获取白色像素,为 0 获取黑色像素……</p>
我试过了
(顶点着色器)
[...]
varying float whiteness;
[...]
vec4 posWorld = gl_ProjectionMatrix * gl_Vertex;
whiteness = clamp(posWorld.y,0.0,1.0);
[...]
(片段着色器)
[...]
varying float whiteness;
[...]
gl_FragColor.rgb = vec3(whiteness);
[...]
但这给了我奇怪的结果,其中表面仍然取决于相机角度和高度。
我怎样才能得到世界空间x,y,z中的顶点位置?