2012-11-30 20 views

回答

6

OpenGL-ES-2中没有矩阵堆栈。它已被完全删除。现代OpenGL(OpenGL-3核心及更高版本)也是如此。

你应该自己管理矩阵,这是每一个严肃的3D图形应用程序多年来的方式。 < = OpenGL-2.1和OpenGL-ES-1的矩阵堆栈从来没有功能完备,并且使用起来很麻烦。甩掉包袱。

有很多库实现3D图形矩阵数学。 Google for“GLM”,“Eigen”或“linmath.h”

+0

那么这意味着我不需要关心矩阵模式了吗?如果我使用提供的API来绘制图片,那么它总是保持在正确的矩阵模式? –

+3

@ user674199:不再有矩阵模式。有点合理,因为无论如何你必须提供一个顶点着色器,而你提供的任何矩阵的语义完全由着色器定义。通常情况下,您将提供3个矩阵:模型视图,投影和法线变换矩阵(法线变换是模型视图的逆转置)。 – datenwolf

+2

我会把我的客户端端程序扔进戒指:[matrix.h](http://ezekiel.vancouver.wsu.edu/~cs442/util/matrix.h),[matrix.c](http: //ezekiel.vancouver.wsu.edu/~cs442/util/matrix.c)。使用'glUniformMatrix4fv'将你的矩阵加载到GL中供着色器使用。 – wcochran

相关问题