OpenGL 规范。说:
该变量
gl_PrimitiveID
由生成输入顶点的绘图命令处理的图元数填充。由绘图命令生成的第一个图元编号为零,处理完每个单独的点、线或三角形图元后,图元 ID 计数器就会递增。使用原始重启索引重新启动原始拓扑对原始 ID 计数器没有影响。
不幸的是,我不太明白这一点。
GL_PATCHES
如果我使用顶点数 = 32进行绘图调用,是否所有32个顶点在 Tesselation Control 着色器中都gl_PrimitiveID
= 0 ?
Tessellation Control 着色器仍会输出一个 Patch,而一个 Patch 是单个图元。
假设当这个补丁在 Tessellation Evaluation 着色器中被细分为三角形时,每个第 n个顶点都有它的gl_PrimitiveID
= n / 3是否正确?
如果不是,请解释他们的价值观是什么。