vertexIndex
vertexIndex
在顶点着色器中提供对当前顶点唯一索引号的访问,是实现程序化效果和高效数据查询的基础。
核心优势
为每个顶点提供一个独一无二的确定性ID,可作为伪随机数生成器的种子或用于从纹理/缓冲区中精确查找数据(如顶点动画),从而在无需额外顶点属性的情况下创造丰富的视觉多样性或实现高性能动画。
常见用途
顶点动画纹理 (VAT)
程序化几何变形与图案
调试与可视化顶点顺序
如何调整
vertexIndex 本身没有参数。其效果通过在着色器中对其进行数学运算来改变。例如,将其乘以一个小数后输入 sin() 可创建波浪,或将其作为 rand() 函数的种子来为每个顶点生成唯一的随机值。
代码示例
1// 检查顶点索引是否为偶数
2const isEven = eq( mod( vertexIndex, 2.0 ), 0.0 );
3
4// 根据结果在两种颜色间切换
5const patternColor = cond( isEven, vec3( 1.0 ), vec3( 0.0 ) );