opengl中文教程opengl-2-配置对话框

opengl中文教程opengl-2-配置对话框

ID:22744342

大小:325.50 KB

页数:6页

时间:2018-10-31

opengl中文教程opengl-2-配置对话框_第1页
opengl中文教程opengl-2-配置对话框_第2页
opengl中文教程opengl-2-配置对话框_第3页
opengl中文教程opengl-2-配置对话框_第4页
opengl中文教程opengl-2-配置对话框_第5页
资源描述:

《opengl中文教程opengl-2-配置对话框》由会员上传分享,免费在线阅读,更多相关内容在应用文档-天天文库

1、1、创建配置对话框和建立程序框架NeHeSDK是把Nehe的教程中所介绍的所有功能,以面向对象的形式,提供给编程人员快速开发的一套编程接口。在下面的教程中,我将按NeHeSDK源码的功能分类,一步一步把这套api介绍给大家。如果你觉得有更好的学习方法,或者有其他有益的建议,请联系我。zhouwei02@mails.tsinghua.edu.cn;zhouwei506@mails.gucas.ac.cn程序结构:这个框架程序可以分为以下四个部分:1.根据用户设置配置OpenGL的窗口2.创建OpenGL运行

2、的窗口,并返回窗口的句柄3.程序循环4.退出程序好下面我们从基本的程序显示设置和框架开始介绍,为了使用NeHeSDK,我们一般包含下面两个头文件(opengl.h,splash.h)。通常为了链接方便,我们可以把需要的链接库添加到程序中,如:#pragmacomment(lib,"NeheSDK.lib"),这句话告诉我们,在链接时使用NeheSDK的链接库。由于NeheSDK所有的函数都在名字空间Nehe中,为了方便起见在不引起冲突的情况下,我们使用这个名字空间。#include"opengl.h"//

3、包含创建OpenGL程序的框架类#include"splash.h"//创建配置对话框#pragmacomment(lib,"NeheSDK.lib")//包含NeheSDK.lib库usingnamespaceNeHe;//使用NeHe名字空间下面是Windows主函数和全局变量--OpenGL类的一个实例,它用来创建OpenGL的程序框架。intWINAPIWinMain(HINSTANCEhInstance,//程序实例句柄HINSTANCEhPrevInstance,//前一个程序实例句柄LPST

4、RlpCmdLine,//命令行参数intnCmdShow)//Window显示状态{OpenGLWinOpenGL;//OpenGL类下面我们分四步来创建这个程序1、根据用户设置配置OpenGL的窗口我们首先定义三个变量res,depth和fs来保存分辨率,颜色深度和是否全屏模式。其中res和depth的枚举类型如下:SplashResolutionSplashDepthSplashResolutionres;//记录分辨率SplashDepthdepth;//记录颜色深度boolfs;//是否全屏接着

5、调用DoSplash函数,显示配置对话框,把用户设置的参数保存到上面声明的变量中。配置对话框如下所示:if(!DoSplash("setup.cfg",&res,&depth,&fs))return1;有了用户的设置信息,我们就可以设置窗口的显示模式了,代码如下:intwidth,height;//窗口的大小intbpp;//颜色位深//设置分辨率switch(res){casesr640x480:width=640;height=480;break;casesr800x600:width=800;hei

6、ght=600;break;casesr1024x768:width=1024;height=768;break;default:width=800;height=600;};//设置颜色位深switch(depth){casesd8bit:bpp=8;break;casesd16bit:bpp=16;break;casesd32bit:bpp=32;break;default:bpp=32;};//设置是否全屏WinOpenGL.SetFullScreen((fs==true)?true:false);

7、2、创建OpenGL运行的窗口,并返回窗口的句柄我们使用OpenGL类的CreateGLWindow函数创建一个供OpenGL运行的窗口,这个函数共有四个参数,第一个参数为窗口的标题栏,第二个参数为位窗口的宽度,第三个参数为窗口的高度,第四个参数为颜色的位深,最后一个参数为是否使用全屏模式。GetWindow函数用来返回窗口类实例的指针。代码如下://创建我们的OpenGL窗口if(!WinOpenGL.CreateGLWindow("DancingWind'sOpenGLFramework",width

8、,height,bpp,WinOpenGL.GetFullScreen())){return0;//失败,则退出}//返回窗口类Window*win=WinOpenGL.GetWindow();3、程序循环这里我首先声明一个变量finish,当它为true时表示程序运行完毕,当它不为true时,执行OpenGL类DrawGLScene函数,它完成绘制的操作,默认的绘制函数绘制一个旋转的金字塔和立方体。代码如下:boolfini

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。