您的位置:首页 > 其它

几何着色器

2016-02-26 10:30 253 查看
GS函数为每一个图元执行一次,一次GS函数执行可以输出0…n个图元

#version 430
layout(triangles) in;           //输入图元类型
layout(triangle_strip,max_vertices = 256) out;      //输出图元类型

/*---------------------内置输入变量---------------------
in int gl_PrimitiveIDIn;    //图元索引
in gl_PerVertex
{
vec4 gl_Position;
float gl_PointSize;
float gl_ClipDistance[];
} gl_in[];
-----------------------------------------------------*/

/*---------------------内置输出变量---------------------
out int gl_PrimitiveID;
out vec4 gl_Position;
out float gl_PointSize;
out float gl_ClipDistance[];
-----------------------------------------------------*/

//自定义输入
in vec2 uvInGS;

//自定义输出
out vec2 uvInFS;

void main()
{
for each primitive
{
for each vertex
{
gl_Position = ...
uvInFS = ...
EmitVertex();   //为当前图元添加一个顶点
}
EndPrimitive();     //结束当前图元
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: