QT OpenGL中文教程在QT4版本后的错误代码更改(一)
由于教程中说的已经够可以了,这里就不对代码进行分析了,有兴趣可以自己去看看。这个教程来源于原来的NeHeOpenGL中文教程 (http://www.yakergong.net/nehe/) ,但其有不好的地方,就是我去看的时候,根本就下载不了代码~~~~可能我人品比较差吧。可以作为参考看一下。
所以选择了下面这个教程:
教程地址:QT OpenGL中文教程(http://www.qiliang.net/old/nehe_qt/index.html)
正在学习这个教程,但发现其时间过久:
根据QT的版本变化,里面有些内容现在来说,已经是错误的了,这学习的过程中,将学习中出现的错误整理如下,所有的代码都进行了更改,然后才能正常运行,教程第一课的内容更改和环境配置请参考上一篇博文:Ubuntu中在QT中配置OpenGL 【注,配置时并不需要使用Mesa!使用上一教程的配置即可】
我的环境:Ubuntu13.10 + QT5.3 + QT Creator3.1.1 + freeglut3(配置过程参考上一篇博文)
更正1:如上一教程,是最基础的更正,基本上每一个教程的代码都要进行错误1的更正。
更正2:前三篇教程只需按更正1进行更正就OK了,以下所有教程都要进行更正1的检查:
来自 <http://www.qiliang.net/old/nehe_qt/index.html>
更正3:第四课:旋转 运行后我的结果是并不能进行旋转,思考后,是由于代码并没有添加接收旋转的信号(每次全屏和非全屏的切换回进行旋转),所以在函数:keyPressEvent()中添加一行代码:
switch(e->key()) { …….. case Qt::Key_R: update(); break; …….. } |
以上添加的就是当按下"R"键时会看到旋转,同时,为了旋转的明显性,建议将rTri和rQuad累加累减的值加大至少1以上的数,会比较明显。
更正4:第五课:向三维进军 不用说,将之前更正都改改。
更正5:第六课:纹理映射 首先,更改之前的更正。然后构建时会出现提示有错误:
QImage dummy(128,128,32)的第三个参数是有问题的。在QT4以后,第三个参数是QImage::Format格式的enum,值从0到18,其中,这里应该将32改为:QImage::Format_RGB32。(具体参考QT文档)。同时,接下来一行的:dummy.fill(Qt::green.rgb()),改成:dummy.fill(Qt::green)。其次,要想运行成功,需要将lesson06中的data文件夹copy一份放到你刚刚构建的那个文件里,这样才能调用到NeHe.bmp文件。OK,运行后,按"R"键就可以看到旋转了。
OK,今天就搞到第六课吧,里面的函数什么的我还要好好研究研究,后面的课程,在接下来的博文里再进行改正。