OpenGL 不是右手系

主要观点:在阅读关于 OpenGL 的文章和教程时,很多人对坐标系和矩阵理解有误,OpenGL 是左手系而非右手系,“列主序”也有两种含义且存在相关问题,不同语言在处理矩阵时也有差异。
关键信息:现代 OpenGL 只涉及标准化设备坐标系(NDC),被视为左手系;“右手系”观念源于固定功能时代的函数翻转;“列主序”在默认向量类型和矩阵内存布局上有不同含义;不同语言在矩阵处理上存在差异,如 GLSL 矩阵类型写法与常规不同;Odin 语言可去除相关文本问题。
重要细节:许多文章和教程对 OpenGL 坐标系的描述错误;物理学和数学在默认向量类型上有区别;GLSL 中mat2x3表示 3 行 2 列矩阵;一些编程语言在处理矩阵数组时需注意布局转换;Odin 语言可灵活处理向量和矩阵及内存布局。

阅读 66
0 条评论