opengl es 2没有设置矩阵模式方法是什么?

Fra*_*eng 1 android opengl-es

我正在尝试opengles2在android平台上开发使用.但我找不到头文件中的glMatrixMode方法GLES2/gl2.h,但我可以找到它GLES/gl.h.我应该包括gl.h同时包括gl2.h吗?opengles2中是否需要矩阵模式?

dat*_*olf 6

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

您应该自己管理矩阵,这是每个严肃的3D图形应用程序多年来所做的事情.<= OpenGL-2.1和OpenGL-ES-1的矩阵堆栈从未完成功能,并且使用起来很麻烦.甩掉包袱.

有许多库实现了3D图形矩阵数学.Google为"GLM","Eigen"或"linmath.h"

  • @ user674199:不再有矩阵模式.有点意义,因为无论如何你都要提供一个顶点着色器,你提供的任何矩阵的语义都是由着色器完全定义的.通常你会提供3个矩阵:模型视图,投影和法线变换矩阵(法线变换是模型视图的逆转置). (3认同)
  • 我将客户端的例程抛到环中:[matrix.h](http://ezekiel.vancouver.wsu.edu/~cs442/util/matrix.h),[matrix.c](http:/ /ezekiel.vancouver.wsu.edu/~cs442/util/matrix.c).使用`glUniformMatrix4fv`将矩阵加载到GL中供着色器使用. (2认同)