unityshader Vs结构体顺序

在 Unity Shader 中,结构体的成员变量的定义顺序和在 Shader 中使用的顺序是有关系的。这是因为在 Cg/HLSL 代码中,结构体的成员变量是按照定义顺序存储的,而在 Shader 中使用结构体成员变量时,也是按照定义顺序来访问的。因此,如果结构体的定义顺序和在 Shader 中使用的顺序不一致,可能会导致访问到错误的数据,从而影响 Shader 的正确性。

在这里插入图片描述
经检验,如果上述的结构体的顺序不一致,确实会导致效果不正确

猜你喜欢

转载自blog.csdn.net/qq_43388137/article/details/130427907