几何着色器Geometryshader是在顶点着色器vertex shader之后的阶段,在fragmentshader之前
gs是对每个几何图元,做处理,还可以进行顶点的生成。据说用GS的话,会比较慢,原因不清楚。我用的还好
在使用gs,vs的out 即为gs的in,gs的out为fs的in。
在使用gs时,有几个值得注意的地方
一,要指定输入 输出的图元。
layout(triangles) in;
layout (triangle_strip,max_vertices = 3) out;
二,输入的是与图元相关的所有顶点数组
in vec4 vVertex[];//注意这个是定义数组,或者是写成结构体数组
in vec3 vNormal[];
in vec3 vTexcoord0[];
三,EmitVertex()前在一样要对gl_Position进行赋值
破碎的基本效果