Qt 与 OpenGL ES

Qt 与 OpenGL ES

<?NOINDEX-END?>

<?NOINDEX-START?>

<?NOINDEX-END?>

简介

本文结合Qt的例子hellogl_es2,介绍 如何在Qt中使用OpenGL ES,这个例子可以运行在symbian^3平台的手机上。 OpenGL ES 是一精心挑选的OpenGL的子集。OpenGL ES 1.x 版本 为固化在硬件中的程序设计,OpenGL ES 2.x版本提供完整的可编程3D图形接口,这里我们为智能移动设备开发,关注Qt 和OpengGL ES 2.x版本的应用。

开发环境

  • 本应用程序是用 QT SDK创建 ,Qt SDK 包含Qt Creator做为IDE,并包含对多个平台的支持,因此安装Qt SDK后即可开发运行在symbian^3,maemo和桌面(windows,linux,mac)上的OpenGL程序
  • 下载地址: http://qt.nokia.com/downloads

开始

OpenGL ES作为OpenGL 的子集,使用与OpenGL一样的基本概念,应从OpenGL开始

OpenGL入门

  • OpenGL的学习很有名的入门 :NeHe的OpenGL学习网站
  • Qt 中使用OpenGL必看齐亮迁移的NeHe OpenGL教程Qt版:Qt OpenGL教程
  • OpenGL的官方文档也是必备参考书: OpenGL 红宝书,学习OpenGL及其他3D图形引擎需要线性代数的一些知识以更好的理解坐标变换等矩阵运算, 头脑中建立正确的几何图景,并结合齐亮的Qt OpenGL教程在Qt 上验证,使用Qt学习OpenGL可以发挥Qt跨平台的有点,先运行桌面版的OpenGL,熟悉概念后,快速直接的转到OpenGL ES为移动设备开发。较早的接触OpenGL ES以避免学习OpenGL中非OpenGL ES的命令。
  • OpenGL ES的快速查询卡:The OpenGL ES 2.0 Quick Reference Card

建议有OpenGL经验的开发者通过OpenGL ES卡片做为提纲快速入手OpenGL ES, 下文以Qt 自带的例子hellogl_es2来演示Qt 与OpenGL ES和 OpeGl ShadingLanguage的使用。

QGLWidget

Qt通过QGLWidget来使用OpenGL。下面hellogl_es2中的glwidget.h 的部分代码

class GLWidget : public QGLWidget {
 
    Q_OBJECT
.........
protected:
    void paintGL ();
    void initializeGL ();
.........
}

initializeGL()是用来初始化这个OpenGL窗口部件的,可以在里面设定一些有关选项。paintGL()就是用来绘制OpenGL的窗口了,只要有更新发生,这个函数就会被调用。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值