我试图在几何着色器阶段执行简单的几何镜像。我的顶点数据输出正确,但镜像几何体的顶点光照不正确。
对于顶点我只是镜像XZ平面,它可以满足我的需要;
a = VPosition[0];
a.y = -a.y;
b = VPosition[1];
b.y = -b.y;
c = VPosition[2];
c.y = -c.y;
gl_Position = ModelViewProj * vec4( a, 1.0 );
EmitVertex();
gl_Position = ModelViewProj * vec4( b, 1.0 );
EmitVertex();
gl_Position = ModelViewProj * vec4( c, 1.0 );
EmitVertex();
EndPrimitive();
但是我如何镜像顶点法线?简单地以与顶点相同的方式否定法线y似乎不起作用。
E.g。
an = VNormal[0];
an.y = -an.y;