旧的JOGL,转型的顺序

时间:2015-04-25 21:12:40

标签: java opengl transformation jogl glrotate

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

我需要记下从1到4的转换顺序以及pruple顶点的结果。有人会帮我检查一下是否正确 - 如果没有 - 为什么?

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:_______

1 个答案:

答案 0 :(得分:1)

问题解决了

  • 应该从模型转换开始,然后从底部开始投影
  • 从底部应用转换

另外,我不小心使用了错误的坐标..

〜感谢你的帮助!