由于教程中说的已经够可以了,这里就不对代码进行分析了,有兴趣可以自己去看看。这个教程来源于原来的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. Codeforces Round #335 (Div. 2) C

                                                                   C. Sorting Railway Cars time limit pe ...

  2. ubuntu 修改hostname

    1.sudo gedit /etc/hostname 2. 修改成你的新名字,例如 SS1 3. 保存,退出 3. sudo gedit /etc/hosts 4修改成心的名字 SS1 5. 保存,退 ...

  3. Python 15 I/O编程

    读写文件是最常见的IO操作.Python内置了读写文件的函数,用法和C是兼容的. 读写文件前,我们先必须了解一下,在磁盘上读写文件的功能都是由操作系统提供的,现代操作系统不允许普通的程序直接操作磁盘, ...

  4. javascript实现移动端网页版阅读器

    现在手机上的文本阅读app已经非常丰富,良好的阅读体验与海量的书库常常令我感到无比兴奋. 我想到8年前用一点几寸屏幕的mp3看电子书的情景,顿生一种淡淡的温馨.再久远一些,小的时候,我也经常和小伙伴们 ...

  5. maya2012无法安装卸载激活失败

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

  6. 牛客网Java刷题知识点之内存的划分(寄存器、本地方法区、方法区、栈内存和堆内存)

    不多说,直接上干货!  其中        1)程序计数器:用于指示当前线程所执行的字节码执行到了第几行,可以理解为当前线程的行号指示器.每个计数器志勇赖记录一个线程的行号,所以它是线程私有的.    ...

  7. WebGL 踩坑系列-2

    需求:绘制斑点在球面上走过的路径 思路:要绘制斑点在球面上走过的路径,首先要记录上一时刻和当前时刻该斑点所在球面的位置,并且实时更新当前时刻的斑点位置和上一时刻的斑点位置. 为了方便,上一时刻斑点所在 ...

  8. react做股票、期货交易遇到的问题(不完全是react)及解决方法。

    公司项目主要是做股票及期货行情展示及交易,h5相应的做了一些功能---可以看行情图及模拟交易,实盘交易存在一定的风险,老板希望做自己的产品,这样h5就尴尬了,不过没关系,项目里还是有一定技术含量的-- ...

  9. statfs获得硬盘使用情况 模拟linux命令 df

    转自:http://blog.csdn.net/mociml/article/details/5335474 先说statfs结构:#include <sys/vfs.h>    /* 或 ...

  10. input type="image" 提交表单

    提到<input type="image"  />,说起来有些惭愧.之前的工作基本每周都要制作两到三个注册用户的网页.其中就用它提交表单. 那个时候我想当然的以为这是用 ...