Geometry 实习期中
我在期中练习时遇到了这个问题,我不明白Geometry 实习期中,geometry,glsl,shader,Geometry,Glsl,Shader,我在期中练习时遇到了这个问题,我不明白 void main(void){ int i; for(i=0; i< gl_VerticesIn; i++){ gl_Position = gl_PositionIn[i]; EmitVertex(); } EndPrimitive(); for(i=0; i< gl_VerticesIn; i++){ gl_Position = gl_PositionIn
void main(void){
int i;
for(i=0; i< gl_VerticesIn; i++){
gl_Position = gl_PositionIn[i];
EmitVertex();
}
EndPrimitive();
for(i=0; i< gl_VerticesIn; i++){
gl_Position = gl_PositionIn[i];
gl_Position.xy = gl_Position.yx;
EmitVertex();
}
EndPrimitive();
}
void主管道(void){
int i;
对于(i=0;i
我一直在阅读文档,我认为这是几何体着色器的一部分,我认为这是反转每个点的x和y坐标,但我没有任何方法来验证这一点。我试着在一个程序中检查它,它在场景的颜色上略有不同,但它似乎根本没有改变几何体,所以如果有人能帮助解释这一点,那就太棒了。谢谢 这确实是几何体着色器的一部分 着色器的第一部分(以第一个
EndPrimitive()
结尾)是可能的最简单的穿透几何体着色器,对几何体完全不做任何操作
第二部分几乎相同,除了用xy
旋转。它复制几何体,但更改x
和y
坐标,因此它有效地在连接屏幕左下角和右上角的直线上镜像图像
因此,在屏幕的对角线上复制和镜像几何体