【发布时间】:2013-03-18 17:04:27
【问题描述】:
我的代码目前看起来像这样:
glViewport (0, 0, this->w(), this->h());
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
glFrustum(-1.0, 1.0, -1.0, 1.0, 1.5, 20.0);
//glTranslated (m_fXmovement, 0.0, m_fZmovement - 5);
//glRotated (m_fYangleView, 1.0, 0.0, 0.0);
//glRotated (m_fXangleView, 0.0, 1.0, 0.0);
///// Model View \\\\\
glMatrixMode(GL_MODELVIEW);
glTranslated (m_fXmovement, 0.0, m_fZmovement - 5 );
glRotated (m_fYangleView, 1.0, 0.0, 0.0);
glRotated (m_fXangleView, 0.0, 1.0, 0.0);
DrawWaveFrontObject (m_pDataObjectMedia);
glPushMatrix();
glTranslated (0.0, -3.0, 0.0);
DrawArea();
glPopMatrix();
DrawClickAnimation();
glLoadIdentity();
首先我在 GL_PROJECTION 中有运动部分,一切都运行良好,直到我开始处理雾......感觉相机没有移动,感觉更像是一个额外的相机指向那个相机...... .
然后我不小心将运动部分复制到了 GL_MODELVIEW 并且雾按照我想要的方式运行......一切都很好,接受点击动画不再与该区域相关,现在动画移动了以我的自我视角....而且我真的不明白我必须在这两个视图中的哪一个中画什么样的画。谁能根据我的代码给我示例或解释,或者提示我可以在我的样式中改进什么?
【问题讨论】:
-
喂,伙计!拜托,拜托,请使用现代OpenGL!固定功能管道是旧的、已弃用、缓慢且不再酷的。使用 OpenGL 4.0+!着色器和 VAO 在各方面都好得多。第一次使用太阳镜时,您可能需要戴上它。
-
@GraphicsMuncher 但是拥有一台非常旧的电脑并且在我的学徒船上几乎没有赚到钱,这让我当时无法使用这些元素。所以不要误会我的意思。但是建议选择另一种技术作为解决方法从来都不是“如何解决问题”的真正答案。
-
这不是对您问题的回答,而是评论。关键是,学习旧的 OpenGL 只会浪费你的时间来学习过时的代码,而当你不得不忘记它时,它会为你做更多的工作。不过,对不起你的旧电脑。大多数人使用旧 OGL 是因为他们在网上发现了一个过时的教程。
标签: opengl