让我开始:
如果在顶点着色器中,有任何attribute( in) 变量,其名称在词法上位于 之后gl_,则不能使用内置属性,即gl_VertexID和gl_InstanceID。如果您尝试,着色器将无法工作(可能是空白屏幕)。
仅适用于 GLSL 3.3 及更高版本,或使用GL_ARB_explicit_attrib_location扩展。
layout(location=0)通过附加到顶点着色器中的声明,将任何属性的位置显式定义为等于 0 。您可以但不需要将其用于其他属性;重要的是任何属性的位置都需要等于 0。这样做之后,命名就不再重要了。
使用命名约定,要求您以 开头的命名属性变量a_,这不会损害代码的可读性,并且会使所有这些变量在词法上都位于之前gl_(安全区)。
| 归档时间: |
|
| 查看次数: |
1958 次 |
| 最近记录: |