问题描述
- GLSL语言编写着色器时数组下标的问题
-
在GLSL中,opengl红宝书第八版写的数组是列主序的,也就是第一个下标是列,第二个下标是行,但看到后边就感觉有点晕了,列主序是说存储时按列主序还是声明变量和访问数组元素是按列主序,比如,int a[4][3]在GLSL中是3行4列的数组还是4行3列的数组,之所以会有这样的疑惑,是因为看书是遇到这么几句话
mat2 m,u,v
m=u*v //m={u00*v00+u01*v10 u00*v01+u01*v11
// u10*v00+u11*v10 u10*v01+u11*v11}
这样好像是行主序吧?但书上和网上都写的GLSL语言编写着色器时是列主序啊?
解决方案
列主序和行主序在算法上没有区别,区别的只是乘法的顺序,opengl是右乘,DX是左乘
时间: 2024-10-03 09:48:52