由于最新OpenGL中的旋转已被弃用,我该如何旋转三角形?折旧前:在最新OpenGL中旋转
gl.glRotated(i, 0, 0, 1);
gl.glBegin(GL2.GL_TRIANGLES);
gl.glVertex3f(0.0f, 1.0f, 0.0f);
gl.glVertex3f(-1.0f, -1.0f, 0.0f);
gl.glVertex3f(1.0f, -1.0f, 0.0f);
gl.glEnd();
我试着这样做,它只是一个翻译,但:
double rotCos = Math.cos(i);
double rotSine = Math.sin(i);
gl.glBegin(GL2.GL_TRIANGLES);
gl.glVertex3d(0.0f + rotSine, 1.0f + rotCos, 0.0f);
gl.glVertex3d(-1.0f + rotSine, -1.0f + rotCos, 0.0f);
gl.glVertex3d(1.0f + rotSine, -1.0f + rotCos, 0.0f);
gl.glEnd();
如何实现落后glRotated数学?
我已经走出了OpenGL循环一段时间,但我认为这是你应该使用矩阵变换的地方:http://www.songho.ca/opengl/gl_transform.html – Matthew