java - LWJGL 仅旋转屏幕上的一个对象

标签 java 3d rotation lwjgl

我正在尝试旋转屏幕上的两个对象之一。我该怎么做?我只能让它旋转屏幕上的所有对象。 代码:

            glColor3f(1, 0, 0);
        glBegin(GL_QUADS);
            glVertex3f(0f, 0f, 0f);
            glVertex3f(0f, .5f, 0f);
            glVertex3f(.5f, .5f, 0f);
            glVertex3f(.5f, 0f, 0f);
        glEnd();
        glRotated(.1, 0f, 1f, 0f);
        glRotated(.1, 1f, 0f, 0f);
        glRotated(.1, 0f, 0f, 1f);
        glBegin(GL_QUADS);
            glVertex3f(2f, 0f, 0f);
            glVertex3f(2f, .5f, 0f);
            glVertex3f(2.5f, .5f, 0f);
            glVertex3f(2.5f, 0f, 0f);
        glEnd();

到目前为止我拥有的代码。

最佳答案

无休止地调用glRotated而不重置矩阵是一个坏主意。舍入误差将会累积。您目前不会在每一帧调用 glIdentity。按以下方式渲染每一帧:

  1. 调用glIdentity
  2. 绘制第一个四边形
  3. 旋转
  4. 绘制第二个四边形

渲染事物的方式是两个四边形的旋转差异在三个轴上仅为 1/10 度 - 这并不明显。

一定要阅读有关 OpenGL 的内容,了解当前的 OpenGL 编程方式并尝试改进您的代码。看起来你不太明白自己在做什么,无意冒犯。

关于java - LWJGL 仅旋转屏幕上的一个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12273506/

相关文章:

java - Struts 2 中的全局异常处理

javascript - 使用CSS3从最后一个位置随机旋转图像

javascript - 在 Photoshop 的自由变换中使用 JS 旋转 HTML

ios - 像标准功能 ios objective c 中那样旋转图像

java - Tomcat 。在 Eclipse 中工作,但部署后不起作用

java - 在java中将条形码128设置为B类型

java - Querydsl java按自定义输入列表排序

math - 找到给定任意 20 个点的交易量

java - 在 Java 中绘制密集的 3D 点云(或网格)

javascript - 如何在浏览器中使用 WebGL 实现 FPS View ?