为什么我会使用OpenGL的矩阵堆栈(而不是包装我自己的矩阵类而只是使用它)?我不确定为什么这么简单的任务会如此复杂.它有一些特殊用例吗?
如果没有必要,有什么好的替代品呢?
Dre*_*all 12
OpenGL的矩阵堆栈(有多个 - 每个矩阵模式一个)用于分层模型.也就是说,您可以定义子对象(例如,轮子)相对于其父体(例如,汽车)的绑定,而不考虑绘制子项时父项的位置/方向.也就是说,它允许您轻松直观地组合变换.
matix堆栈(以及一般的GL矩阵运算)不能替代通用矩阵数学库.它们只是存在以允许组合变换有效地应用于顶点数据.正如其他人所说,随着固定功能管道的消亡,这个功能已从OpenGL中删除,因为着色器程序的需求不如旧管道的需要统一.