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,今天就搞到第六课吧,里面的函数什么的我还要好好研究研究,后面的课程,在接下来的博文里再进行改正。
QT OpenGL中文教程在QT4版本后的错误代码更改(一)的更多相关文章
- iReport官方文档(英文版本)+ iReport中文教程
背景介绍 最近学习iReport,但是网上找到的博客里都是断断续续,几乎没有很详尽的资料文档,要么下载收费,要么不全.很是困扰. 在此,我提供给大家两个官网文档: JasperReports Libr ...
- ubuntu下配置qt+opengl+opencv
原地址:http://www.cnblogs.com/aleny-liu/archive/2011/12/16/aleny-Qtnote1.html http://blog.csdn.net/jdh9 ...
- OpenCV-Python 中文教程(搬运)目录
OpenCV-Python 中文教程 OpenCV官方教程中文版(For Python) OpenCV2-Python-Tutorials 段力辉 译 说明:搬运自linux公社pdf文件,粗略搬运, ...
- [翻译]opengl扩展教程1
[翻译]opengl扩展教程1 原文地址https://www.opengl.org/sdk/docs/tutorials/ClockworkCoders/extensions.php [翻译]ope ...
- PhpStorm中文教程
PhpStorm中文教程 | 浏览:15972 | 更新:2014-06-10 21:14 1 2 3 4 5 分步阅读 PhpStorm是一款强大的IDE,非常适合于PHP开发人员及前端工程师.提供 ...
- PuTTY 中文教程
PuTTY 中文教程 更新记录 2006-11-29初步完成想写的这些东西 2007-06-11PuTTY 的最新版本到了0.6:修改了一下 SSH 隧道:添加了 SSH 反向隧道:添加了用 SSH ...
- CEF中文教程(google chrome浏览器控件) -- Windows下编译Chromium
CEF中文教程(google chrome浏览器控件) -- CEF简介 2013-04-10 16:48 42928人阅读 评论(4) 收藏 举报 分类: CEF(2) 目录(?)[+] ...
- Swift中文教程(五)--对象和类
原文:Swift中文教程(五)--对象和类 Class 类 在Swift中可以用class关键字后跟类名创建一个类.在类里,一个属性的声明写法同一个常量或变量的声明写法一样,除非这个属性是在类的上下文 ...
- Django REST framework 中文教程1:序列化
建立环境 在我们做任何事情之前,我们将使用virtualenv创建一个新的虚拟环境.这将确保我们的包配置与我们正在开展的任何其他项目保持良好的隔离. virtualenv envsource env/ ...
随机推荐
- linux中firewall与iptables防火墙服务
火墙firewall-cmd --state 查看火墙的状态firewall-cmd --get-active-zones 目前所处的域firewall-cmd --get-default-zone ...
- 17.JavaMail
1.电子邮件 电子邮件是目前网络上使用最多的服务,电子邮件的应用越来越广泛正常的通信往来账号注册时,找回密码时等一般发送的邮件主要可以分解成2大部分一部分是发信人.接信人.主题等邮件标头另外一部分是邮 ...
- 18-----BBS论坛
BBS论坛(十八) 18.首页轮播图实现 (1)front/css/front_base.css .main-container{ width: 990px; margin: 0 auto; over ...
- java——利用生产者消费者模式思想实现简易版handler机制
参考教程:http://www.sohu.com/a/237792762_659256 首先说一下这里面涉及到的线程: 1.mainLooper: 这个线程可以理解为消费者线程,里面运行了一个死循环, ...
- my.资料
领回梦丹 http://ka.gamedog.cn/card/2036517.html 1. 普陀的加点没有优点缺点之分,只有是否和你的装备般配.这里可以给一些小数据参考. 60级物理防御达到900, ...
- jmeter-集合点---学习笔记
集合点: 简单来理解一下,虽然我们的“性能测试”理解为“多用户并发测试”,但真正的并发是不存在的,为了更真实的实现并发这感念,我们可以在需要压力的地方设置集合点,每到输入用户名和密码登录时,所有的虚拟 ...
- 解决ajax提交中文数据乱码
function replaceWord(date,wordurl){ $.ajax({ url : 'wordReplace', ...
- [转]JS跨域总结
本文转自:http://www.cnblogs.com/qixuejia/archive/2012/08/29/2662220.html javascript跨域有两种情况: 1.基于同一父域的子域之 ...
- Kudu Tablet design
不多说,直接上干货! http://blog.csdn.net/lookqlp/article/details/51416829
- rake 任务参数传递问题解决
原文 : https://robots.thoughtbot.com/how-to-use-arguments-in-a-rake-task namespace :tweets do desc 'S ...