java - 旧的 JOGL,转换顺序

标签 java opengl transformation jogl glrotate

我必须解决一个问题,我意识到它是有点老派的代码..

我需要写下从 1 到 4 的变换顺序以及四顶点的结果。有人能帮我检查一下是否正确吗?如果不正确,为什么?

JOGL code

对我来说,找到这个问题的答案并 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/

相关文章:

java - 从 servlet 开始嵌入 Neo4j

iphone - 在 iPhone 屏幕上绘图时识别图案

c++ - NaCl OpenGL 示例

xsd - cobol 到 xml 架构 - WTX 工具

java - Jackson:在序列化时抑制 JsonTypeinfo?

java - 控制 TCP 连接上的远程客户端状态

opengl - 什么是 OpenGL 中的着色器,我们需要它们做什么?

graphics - 如何在paperjs中拖动/调整大小和旋转矩形?

android - 使用 Room/LiveData 获取并观察三个对象

java - 为什么数组转列表又转数组