【发布时间】:2015-07-04 10:24:22
【问题描述】:
我必须解决一个问题,但我意识到它有点老派代码..
我需要写下从 1 到 4 的变换顺序以及 pruple 顶点的结果。有人可以帮我检查它是否正确,如果不正确 - 为什么?
我很难找到答案并 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:_______
【问题讨论】:
-
这里的一般偏好是代码直接出现在问题中(因此它是可搜索的/安全的/不会变得不可访问)。介意拉进去吗?
-
变换以与其规范相反的顺序应用于顶点。例如,请参见此处:stackoverflow.com/questions/25622381/…。
-
这种任务对我来说似乎很愚蠢(除了史前 GL 本身)。在挑剔模式下,我会回答只有 两个 变换(基于这些矩阵)在固定功能管道中一个接一个地应用于顶点位置:模型视图一个,和投影一。
标签: java opengl transformation jogl glrotate