由于教程中说的已经够可以了,这里就不对代码进行分析了,有兴趣可以自己去看看。这个教程来源于原来的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的检查:

第一课:创建一个OpenGL窗口

第二课:你的第一个多边形

第三课:上色

来自 <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,今天就搞到第六课吧,里面的函数什么的我还要好好研究研究,后面的课程,在接下来的博文里再进行改正。

QT OpenGL中文教程在QT4版本后的错误代码更改(一)的更多相关文章

  1. iReport官方文档(英文版本)+ iReport中文教程

    背景介绍 最近学习iReport,但是网上找到的博客里都是断断续续,几乎没有很详尽的资料文档,要么下载收费,要么不全.很是困扰. 在此,我提供给大家两个官网文档: JasperReports Libr ...

  2. ubuntu下配置qt+opengl+opencv

    原地址:http://www.cnblogs.com/aleny-liu/archive/2011/12/16/aleny-Qtnote1.html http://blog.csdn.net/jdh9 ...

  3. OpenCV-Python 中文教程(搬运)目录

    OpenCV-Python 中文教程 OpenCV官方教程中文版(For Python) OpenCV2-Python-Tutorials 段力辉 译 说明:搬运自linux公社pdf文件,粗略搬运, ...

  4. [翻译]opengl扩展教程1

    [翻译]opengl扩展教程1 原文地址https://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/extensions.php [翻译]ope ...

  5. PhpStorm中文教程

    PhpStorm中文教程 | 浏览:15972 | 更新:2014-06-10 21:14 1 2 3 4 5 分步阅读 PhpStorm是一款强大的IDE,非常适合于PHP开发人员及前端工程师.提供 ...

  6. PuTTY 中文教程

    PuTTY 中文教程 更新记录 2006-11-29初步完成想写的这些东西 2007-06-11PuTTY 的最新版本到了0.6:修改了一下 SSH 隧道:添加了 SSH 反向隧道:添加了用 SSH ...

  7. CEF中文教程(google chrome浏览器控件) -- Windows下编译Chromium

    CEF中文教程(google chrome浏览器控件) -- CEF简介 2013-04-10 16:48 42928人阅读 评论(4) 收藏 举报  分类: CEF(2)    目录(?)[+]   ...

  8. Swift中文教程(五)--对象和类

    原文:Swift中文教程(五)--对象和类 Class 类 在Swift中可以用class关键字后跟类名创建一个类.在类里,一个属性的声明写法同一个常量或变量的声明写法一样,除非这个属性是在类的上下文 ...

  9. Django REST framework 中文教程1:序列化

    建立环境 在我们做任何事情之前,我们将使用virtualenv创建一个新的虚拟环境.这将确保我们的包配置与我们正在开展的任何其他项目保持良好的隔离. virtualenv envsource env/ ...

随机推荐

  1. GitLab 遇到的坑

    Job for postfix.service failed because the control process exited with error [zbb@storage1 ~]$ sudo ...

  2. restframework 的一些操作

    路飞学城项目: 1 Vue 2 restframework框架(一周) 3 学城项目(一周-两周) day98 1 CBV(class based view) 与 FBV(function based ...

  3. sp_executesq用法

    第一种用法: --@sqlstring :就是你要执行的sql语句字符串--@ParmDefinition: @sqlstring里边用到的参数在这里声明 输出的参数要加output --sp_exe ...

  4. 转——深度学习之BN算法(Batch Normailization)

    Batch Normalization 学习笔记 原文地址:http://blog.csdn.net/hjimce/article/details/50866313 作者:hjimce 一.背景意义 ...

  5. 6-----BBS论坛

    BBS论坛(六) 6.1.优化json数据的返回 (1)新建utils/restful.py # utils/restful.py from flask import jsonify class Ht ...

  6. 【ACM】Knapsack without repetition - 01背包问题

    无界背包中的状态及状态方程已经不适用于01背包问题,那么我们来比较这两个问题的不同之处,无界背包问题中同一物品可以使用多次,而01背包问题中一个背包仅可使用一次,区别就在这里.我们将 K(ω)改为 K ...

  7. 查看pip已经安装过的包

    查看pip已经安装过的包 pip list 查看xx包的安装路径 pip install xx 查看python2的pip安装的包 python2 -m pip list 查看python3 的pip ...

  8. maya2015无法安装卸载激活失败

    AUTODESK系列软件着实令人头疼,安装失败之后不能完全卸载!!!(比如maya,cad,3dsmax等).有时手动删除注册表重装之后还是会出现各种问题,每个版本的C++Runtime和.NET f ...

  9. git使用笔记-基础篇

    git使用手册:https://git-scm.com/book/zh/v1/ 一.分支 1.查看所有本地分支 git branch 2.查看所有本地分支和远程分支 git branch -a 3.查 ...

  10. python3+Appium自动化10-日志收集

    日志概述 日志作用 日志是定位问题的重要手段 日志级别 级别 何时使用 DEBUG 调试信息,也是最详细的日志信息 INFO 证明事情按预期工作 WARNING 表明发生了一些意外,或者不就的将来(如 ...