我必须解决一个问题,我意识到它是有点老派的代码..
我需要写下从 1 到 4 的变换顺序以及四顶点的结果。有人能帮我检查一下是否正确吗?如果不正确,为什么?
对我来说,找到这个问题的答案并 100% 确定它是正确的有点困难。
我认为正确的是: 1.从底层开始,先取MODELVIEW,再取PROJECTION - 但我不确定我做对了......
编辑,代码重写为文本:
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glLoadIdentity();
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glLoadIdentity();
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glTranslatef(-1, -1, -0);
gl.glMatrixMode(GL.GL_PROJECTION);
gl.glScalef(2, 1, 3);
gl.glRotatef(-90, 0, 0, 1);
gl.glMatrixMode(GL.GL_MODELVIEW);
gl.glScalef(2, 3, 1);
gl.glBegin(GL.GL_QUADS);
gl.glColor3f(0, 0, 1);
gl.glVertex3f(-2, -2, -2);
gl.glColor3f(1, 1, 0);
gl.glVertex3f(2, 1, 3);
gl.glColor3f(1, 0, 1);
gl.glVertex3f(1, 1, -2);
gl.glColor3f(0, 1, 0);
gl.glVertex3f(-1, 1, 2);
gl.glEnd();
按顺序写出变换,并写出每个变换的紫色顶点的坐标变化。
转换 1:________________ 坐标 x:_______ y:_______ z: _______
转变 2:________________ 坐标 x:_______ y:_______ z: _______
转变 3:________________ 坐标 x:_______ y:_______ z: _______
转变 4:________________ 坐标 x:_______ y:_______ z: _______
最佳答案
问题已解决
- 应该从模型变换开始,然后是投影,总是从底部开始
- 从底部应用变换
另外,我不小心使用了错误的坐标..
~不过还是谢谢你的帮助!
关于java - 旧的 JOGL,转换顺序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29870795/