我想做过三维的人都知道OpenGL,它也算是最基础的三维底层库之一(另外一个是DX),好吧,这一篇文章并不是讲解如何使用OpenGL,我接下来将会讲讲我认识的OpenGL矩阵部分的知识。
在OpenGpu里面有一个测试题,问的是OpenGL用的是行Or列矩阵?用的是行OR列存储,这一篇链接如下:这部分的介绍我还是引用那位大神的介绍:
http://www.opengpu.org/forum.php?mod=viewthread&tid=10405
其实版主已经介绍的很清楚,我就简单说说我的见解:
1. 行or列矩阵,其实是一个逻辑规定,也就是人为规定,可能为了方便、为了更好理解等等,当然对应的也就是行向量和列向量。
2. 行or列存储,其实是一个电脑上的规定,也就是存储规定,这样的目的就是会了更快的取得数据。
以下是就简单OpenGL的行列式(列矩阵列存储):
x0(0)(00) | x1(4)(10) | x2(8)(20) | x3(12)(30) |
y0(1)(01) | y1(5)(11) | y2(9)(21) | y3(13)(31) |
z0(2)(02) | z1(6)(12) | z2(10)(22) | z3(14)(32) |
0(3)(03) | 0(7)(13) | 0(11)(23) | 1(15)(33) |
大家好好体会以上的表格吧。