use*_*754 2 opengl tessellation
layout (vertices = 3) out;
void main(void)
{
if (gl_InvocationID == 0)
{
gl_TessLevelInner[0] = 5.0;
gl_TessLevelOuter[0] = 5.0;
gl_TessLevelOuter[1] = 5.0;
gl_TessLevelOuter[2] = 5.0;
}
gl_out[gl_InvocationID].gl_Position = gl_in[gl_InvocationID].gl_Position;
}
Run Code Online (Sandbox Code Playgroud)
摘录自:Haemel,Nicholas."OpenGL SuperBible:
我如何理解TessLevelInner和Outer以及为什么id 0列出了两次?
sse*_*ell 13
我该如何理解
gl_TessLevelInner和gl_TessLevelOuter?
请参阅:
gl_TessLevelInner,gl_TessLevelOuter,OpenGL的镶嵌-色阶
顾名思义,它们控制正在处理的图元的内部和外部曲面细分因子级别.下面是一个图像,说明了各种内/外水平设置的结果.
资料来源:http://antongerdelan.net/opengl/tessellation.html
为什么索引
0使用了两次?
它被使用两次,因为它访问两个不同的对象.索引的第一个用途0是
gl_TessLevelInner[0]
Run Code Online (Sandbox Code Playgroud)
第二是
gl_TessLevelOuter[0]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1906 次 |
| 最近记录: |