由于教程中说的已经够可以了,这里就不对代码进行分析了,有兴趣可以自己去看看。这个教程来源于原来的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. C#工具类之日期扩展类

    /// <summary> /// DateTimeHelper /// </summary> public static class DateTimeHelper { /// ...

  2. java的Spring学习2--构造函数注入

    bean文件如下: <?xml version="1.0" encoding="UTF-8"?> <beans xmlns:xsi=" ...

  3. day_11 生成器

    . 生成器本身是迭代器 .写迭代器的方式 .生成器函数 .生成器表达式 .各种推导式 .生成器函数 函数内部有yield, yield返回->return yield把函数分段进行 生成器可以使 ...

  4. 5.SpringMVC

    1.SpringMVC概述 概述: SpringMVC是基于请求驱动,围绕一个核心Servlet 转发请求到对应的Controller而设计的优点:是一个典型的教科书式的MVC构架,易学易用提供了清晰 ...

  5. /var 目录下文件系统

    /var    :日志文件/var/log:各种系统日志存放地*/var/log/message :系统信息默认日志文件 (非常重要)按周自动轮循/var/log/secure  :记录登入系统信息文 ...

  6. 信息领域热词分析系统--python统计

    统计词语出现的频率,并且按从高到低的顺序报错在文件中 def main(): file=open("F:\大数据\大作业\分词后的文件\data4_xinxi.txt",'r') ...

  7. Unity GetComponentsInChildren

    1 Component.GetComponentsInChildren 和 GameObject.GetComponentsInChildren 一样吗?  API上解释一样. 2. //拿到游戏对象 ...

  8. Java基础15-数组实例学生管理系统

    import java.util.Scanner; public class Student{ public static void main(String[] args){ Scanner in=n ...

  9. Windows 10家庭版升级到专业版,系统蓝屏

    Log Name: SystemSource: Microsoft-Windows-DistributedCOMDate: 9/9/2018 7:56:57 PMEvent ID: 10016Task ...

  10. HDU 5379——Mahjong tree——————【搜索】

    Mahjong tree Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Others)Tota ...