我需要优化我的渲染代码,目前我正在使用 glPushMatrix() 与 glTranslatef() 和 glRotatef()。但这比在单个顶点数组调用中渲染所有对象的成本更高。
OpenGL 中是否有一些快速内置函数可以像 glRotatef() 一样旋转我的顶点数据?如果没有,您会推荐使用什么库或方法?我知道的唯一方法是使用 sin/cos 函数来旋转顶点,但我不确定这是否是最快的方法,或者它是否会产生相同的结果。
每个对象我只需要沿一个轴旋转一次(2D 渲染),因此它不需要非常复杂或支持 glPushMatrix() 系统的全部潜力。
编辑:我不想为此使用着色器。
Edit2:我只渲染沿零点旋转的单个四边形(在 2D 模式下),因此例如每个顶点的值将从 -10 变为 10。我当前的代码:((quad.vert[i].x*cosval)-(quad.vert[i].y*sinval)
两次,对于 y 也是)。