首页产品库评测行情新闻|手机数码笔记本台式机DIY硬件数字家庭数码相机办公外设|软件下载游戏开发|社区

更多

数码相机
MP4
LCD
机箱
音箱

攒机升级宝典 手机选购指南

笔记本选购宝典 手机图片

手机电子书 电脑主题和美化

数码摄影论坛 精美壁纸大全

软件资讯：设计 工具 系统 开发 安全 办公 陶吧 IT教育 Windows 7 | 下载中心：天极下载中心诚征下载通路合作伙伴

天极网 > 软件频道
>OpenGL编程轻松入门之一个简单的例子

产品网页图片下载

OpenGL编程轻松入门之一个简单的例子

2006-05-15
09:32作者：黄燕出处：天极开发责任编辑：方舟

先编译运行一个简单的例子，这样我们可以有一个直观的印象。从这个例子我们可以看到OpenGL可以做什么，当然这个例子只做了很简单的一件事--绘制一个彩色的三角形。除此以外，我们还可以看到典型的OpenGL程序结构及openGL的运行顺序。

例1：本例在黑色的背景下绘制一个彩色的三角形，如图一所示。

#include <stdlib.h>
#include <GL/glut.h>
void
background(void)
{
glClearColor(0.0,0.0,0.0,0.0);//设置背景颜色为黑色
}

void
myDisplay(void)
{
glClear(GL_COLOR_BUFFER_BIT);//buffer设置为颜色可写

glBegin(GL_TRIANGLES);//开始画三角形
glShadeModel(GL_SMOOTH);//设置为光滑明暗模式

glColor3f(1.0,0.0,0.0);//设置第一个顶点为红色
glVertex2f(-1.0,-1.0);//设置第一个顶点的坐标为（-1.0，-1.0）

glColor3f(0.0,1.0,0.0);//设置第二个顶点为绿色
glVertex2f(0.0,-1.0);//设置第二个顶点的坐标为（0.0，-1.0）

glColor3f(0.0,0.0,1.0);//设置第三个顶点为蓝色
glVertex2f(-0.5,1.0);//设置第三个顶点的坐标为（-0.5，1.0）
glEnd();//三角形结束

glFlush();//强制OpenGL函数在有限时间内运行
}

void
myReshape(GLsizei w,GLsizei
h)
{
glViewport(0,0,w,h);//设置视口

glMatrixMode(GL_PROJECTION);//指明当前矩阵为GL_PROJECTION
glLoadIdentity();//将当前矩阵置换为单位阵

if(w
<=
h)
gluOrtho2D(-1.0,1.5,-1.5,1.5*(GLfloat)h/(GLfloat)w);//定义二维正视投影矩阵
else
gluOrtho2D(-1.0,1.5*(GLfloat)w/(GLfloat)h,-1.5,1.5);
glMatrixMode(GL_MODELVIEW);//指明当前矩阵为GL_MODELVIEW
}

int
main(int argc,char **
argv)
{
/*初始化*/
glutInit(&argc,argv);
glutInitDisplayMode(GLUT_SINGLE|GLUT_RGB);
glutInitWindowSize(400,400);
glutInitWindowPosition(200,200);

/*创建窗口*/
glutCreateWindow("Triangle");

/*绘制与显示*/
background();
glutReshapeFunc(myReshape);
glutDisplayFunc(myDisplay);

glutMainLoop();
return(0);
}

图一：一个彩色的三角形

首先创建工程，其步骤如下：

1）创建一个Win32
Console Application。

2）链接OpenGL libraries。在Visual
C++中先单击Project，再单击Settings，再找到Link单击，最后在Object/library modules
的最前面加上OpenGL32.lib GLu32.lib GLaux.lib

3）单击Project
Settings中的C/C++标签，将Preprocessor definitions
中的_CONSOLE改为__WINDOWS。最后单击OK。

现在你可以把下面的例子拷贝到工程中去，编译运行。你可以看到一个彩色的三角形。

我们先看看main函数。函数中以glut开头的函数都包含在glut.h中。GLUT库的函数主要执行如处理多窗口绘制、处理回调驱动事件、生成层叠式弹出菜单、绘制位图字体和笔画字体，以及各种窗口管理等任务。

・glutInit用来初始化GLUT库并同窗口系统对话协商。

・glutInitDisplayMode用来确定所创建窗口的显示模式。本例中的参数GLUT_SINGLE
指定单缓存窗口，这也是缺省模式，对应的模式为GLUT_DOUBLE
双缓存窗口。参数GLUT_RGB指定颜色RGBA模式，这也是缺省模式，对应的模式为GLUT_INDEX
颜色索引模式窗口。

・glutInitWindowSize
初始化窗口的大小，第一个参数为窗口的宽度，第二个参数为窗口的高度，以像素为单位。

・glutInitWindowPosition
设置初始窗口的位置，第一个参数为窗口左上角x的坐标，第二个参数为窗口左上角y的坐标，以像素为单位。屏幕的左上角的坐标为（0，0），横坐标向右逐渐增加，纵坐标向下逐渐增加。

・glutCreateWindow
创建顶层窗口，窗口的名字为扩号中的参数。

・background()
这是自己写的函数，设置背景。其实这个函数中的语句可以写在display函数中，但为了使功能块更加清晰，所以把背景这一部分单独提出来。

・glutReshapeFunc
注册当前窗口的形状变化回调函数。当改变窗口大小时，该窗口的形状改变回调函数将被调用。在此例中就是myReshape指定形状变化函数。

・glutDisplayFunc
注册当前窗口的显示回调函数。当一个窗口的图像层需要重新绘制时，GLUT将调用该窗口的的显示回调函数。在此例中的mydisplay就是显示回调函数，显示回调函数不带任何参数，它负责整个图像层的绘制。我们的大部分工作将集中在这个函数中。

・glutMainLoop
进入GLUT事件处理循环。glutMainLoop函数在GLUT程序中最多只能调用一次，它一旦被调用就不再返回，并且调用注册过的回调函数。所以这个函数必须放在注册回调函数的后面，此例中为glutReshapeFunc，
glutDisplayFunc。

热卖推荐： 手机　诺基亚　MP5　电脑包　双卡双待　手机链　U盘　笔记本电脑

关注此文的读者还看过：

返回软件频道首页

共2页。 12下一页

1.OpenGL编程轻松入门之一个简单的例子

2.OpenGL编程轻松入门之一个简单的例子

发现了一个office
2010完美破解版

官方qq申请大师 申请靓号

[图]iOS
4.1红雪越狱（RedSn0w 0.9.6 beta 1）Windows版本终出炉

iOS
4.1越狱工具Greenpois0n（绿毒）Windows版下载[图]

[活动公告]天极Win7论坛建言
抢楼得大奖

Microsoft Office
Pro 2010 简体中文永久激活版

炫酷主题再次来袭...这次是神秘蓝色

[4P]微软MIX10大会Translator主题的壁纸一套

Windows7 7600
16385 OEM目前最完美激活方法

[活动]电脑，就这么简单！

软件频道最新更新

专业+免费
金山毒霸成4亿中国网民杀毒首选

金山网络正式成立
“管理创新”全面启动

网络打手于斌恶意中伤网秦
公安部门已介入

马化腾：呼吁政府密切关注网络黑社会

免费稳定好用 就选同花顺手机炒股软件

马化腾：仍有用户受到360外挂侵害

联通助力3G亚运,手机邮箱借盛事广泛开启

Illustrator绘矢量风格缝纫针脚特效

金和OA 让销售不再“孤军奋战”

金山安全与可牛正式合并
金山毒霸永久免费

网秦专家：“僵尸网络”下的移动安全威胁

互联网公司应对用户信息安全承担更大责任

热点推荐

免费稳定好用 就选同花顺手机炒股软件

Illustrator绘矢量风格缝纫针脚特效

美图秀秀打造温暖美妙的海底美女照片

Firefox 4 Beta
7最终定于美国时间周三发布

IT嘉年华

・[有奖活动]看图找茬，练眼力，赢积分 IE8浏览器

・[有奖活动]群乐家园个性形象大赛 QQ空间代码 windows7

・PowerPoint 魔兽争霸DOTA论坛 地下城与勇士论坛 txt电子书

・[下载]瑞星2009下载 炫我手机最新贴

・[有奖活动]成语接龙游戏 龙蛇演义

编辑推荐

・专业+免费
金山毒霸成4亿中国网民杀毒首选

・金山网络正式成立
“管理创新”全面启动

・网络打手于斌恶意中伤网秦
公安部门已介入

・马化腾：呼吁政府密切关注网络黑社会

・免费稳定好用 就选同花顺手机炒股软件

软件下载

热门

推荐

1

STTV-视通卫星网络电视(带自由录像功能)

46631847次/周

2

瑞星杀毒软件

37495795次/周

3

Adobe Photoshop CS 2

36084024次/周

4

比特彗星(BitComet)

21023021次/周

5

网页迅雷(Web迅雷)

19742738次/周

6

WebWatchBot

17087354次/周

7

暴风影音

16841139次/周

8

迅雷(Thunder)

14956851次/周

9

金山毒霸2011杀毒软件

14911801次/周

10

网址导航软件

14549502次/周

1

Fastream IQ Proxy Server

1016次/周

2

安天防线

181次/周

3

U盘杀毒专家
- USBKiller U盘版
105次/周

4

U盘杀毒专家
- USBKiller单机版
74次/周

5

AVG IAVI

509次/周

6

金山卫士

545次/周

7

易通文件夹锁

12202次/周

8

海奇杀毒软件

1631次/周

9

系统垃圾清理王

12163次/周

10

文件夹加密大师

207655次/周

网友关注

软件

资料

游戏

1

Fastream IQ Proxy Server

1016次/周

2

丧尸围城2修改器

292次/周

3

快拖(KuaiTuo) -
精悍的免费互联网搜索下载工具软件
31次/周

4

小白软件管家

114次/周

5

个股评测王

4149次/周

6

安天防线

181次/周

7

好易-F4V格式转换器

0次/周

8

金管家留学管理软件网络版

0次/周

9

淘宝客推广工具

10次/周

10

五子连珠

32917次/周

1

女人、性、性文化、性病图片大全电子书

812298次/周

2

out电子杂志

136次/周

3

个人简历模板（标准简历）

126944次/周

4

out电子杂志

310次/周

5

个人简历表格

398530次/周

6

大学英语四级词汇新大纲

226289次/周

7

out电子杂志

285次/周

8

《跆拳道视频教程》

306454次/周

9

作文之星

6364次/周

10

out电子杂志

547次/周

1

《勇者斗斗龙》全民内测客户端

0次/周

2

《远征Online》公测客户端

0次/周

3

《神泣》新版本“遗迹迷宫”客户端

0次/周

4

《封神榜3》开放性测试客户端

0次/周

5

《猎国》最新完整客户端

0次/周

6

《巨刃》11.10终极封测客户端

0次/周

7

微巨塔防

296次/周

8

《极光世界》公测客户端

31次/周

9

《丢丢》首次内测客户端

32次/周

10

《魔界2》揭秘封测客户端-data.zip

3次/周

装机推荐

聊天    腾讯QQ
MSN安全版  Skype语音聊天

移动飞信Fetion

下载    迅雷5  网际快车FlashGet  屁屁狗PPgou

eMule
verycd(电驴)

影音    暴风影音
RealPlayer
千千静听  酷狗KuGoo

系统    卡巴斯基  WinRAR Windows优化大师

Vista优化大师

中文    搜狗拼音输入法 谷歌拼音输入法 万能五笔输

入法 紫光华宇拼音输入法

网络    傲游[Maxthon]浏览器
Firefox(火狐浏览器)

Foxmail  POCO 2007

系统    Adobe Photoshop  光影魔术手
有道电子词典

酷我音乐盒

文章排行

本周

本月

最新更新

12345678910

Word2010：为文档插入页眉和页脚

“出走”名牌大学后的曲折成才历程

Word2010：将Word文档快速转换为演示文稿

Excel2010：快速标注数据表中的前3名数据

系出名门谁主浮沉 五款拼音输入横评

Android版 Opera Mobile 10.1
Beta出炉

信息安全是“王道”飞信快速推出2010安全版

微软特讯：全新正版XP抛售中 快来抢购啦

李长青的IT白领之路：追梦少年梦想成真

WPS“更改图片”帮你轻松修改文档配图

12345678910

航天信息ERP：中国成长型企业增长助推器！

eScanAV重奖征名活动海选结束,大奖等你拿

网秦通讯管家4.0版发布 首推号码一键快查

金山卫士2.0正式版发布 隐私保护器成新亮点

eScanAV反病毒产品夺得教育系统万点大单！

Android版 Opera Mobile 10.1
Beta出炉

威客生存手册新书上市发售

信息安全是“王道”飞信快速推出2010安全版

神州泰岳重磅进军电子商务 千腾网正式上线

巧借网秦通讯管家 快速查找联系人号码

12345678910

专业+免费
金山毒霸成4亿中国网民杀毒首选

金山网络正式成立 “管理创新”全面启动

网络打手于斌恶意中伤网秦
公安部门已介入

马化腾：呼吁政府密切关注网络黑社会

免费稳定好用 就选同花顺手机炒股软件

马化腾：仍有用户受到360外挂侵害

联通助力3G亚运,手机邮箱借盛事广泛开启

Illustrator绘矢量风格缝纫针脚特效

金和OA 让销售不再“孤军奋战”

金山安全与可牛正式合并 金山毒霸永久免费

天极服务|关于我们|About
us|网站律师|RSS订阅|友情合作|加入我们|天极动态|网站地图|意见反馈|MSN/QQ上看天极
Copyright (C) 1999-2009 Yesky.com, All Rights
Reserved 版权所有 天极网络