- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
OpenGL在VS2010运行的资料总结
VC+ +6.0环境下基于OpenGL的编程步骤
1)创建项目文件:选择File New菜单项,建立一个基于单文档(SDI)的项目文件MyOpenGLTest,
View类基于Cview。
2)选择Build Setting菜单项,在Link选项组的Lib列表框中添加opengl 32.lib,glu 32.lib,若使用
OpenGL的辅助库函数,则还需添加glaux.lib。
3)选择View ClassWizard菜单项,打开MFC对话框,在ClassName列表框中选择CMy-
OpenGLTestView类,进行以下操作:选择WM_CREATE消息,单击Edit Code,将OpenGL初始化代码添
加到OnCreate()函数中。
定义像素存储格式即PIXELFORMATDESCRIPTOR
CCLient dc(this);
int pixelFormat=ChoosePixelFormat(dc,m hDC,pfd);
BOOL success=SetPixelFormat(dc,m hDC,pixelFormat,pfd);
M hRC=wglCreateContext(dc,m hDC);
选择WMDESTROY消息,在OnDestroy()中添加以下代码:
wglDeleteContext(m hDC);
在MyOpenGLTestView.cpp中的PreCreateWindows()函数中添加代码:
cs.style =WS CLIPCHILDREN WS CLIPSIBLINGS;
OpenGL只对WSCLIPCHILDREN WS CLIPSIBLINGS类型窗口有效;
在MyOpenGLTestView.cpp中,将以下代码添加到OnDraw()函数中:
wglMakeCurrent(pDC-m hDC,m hRC);
DrawScene();
WglMakeCurrent(pDC-m hDC,NULL);
在MyOpenGLTestView.cpp中,添加成员函数DrawScence():
void cMyOpenGLTestView::DrawScence()
{
//绘制三维场景
}
4)在MyOpenGLTestView.h中包含以下头文件并添加类成员说明:
#includegl.h
#includeglu.h
#includeglaux.h
在CMyOpenGLTestView类中的protected:段中添加成员变量声明:
HGLRC m hRC;
同时添加成员函数声明:DrawScene();
用户只需在DrawScene()函数中添加程序代码即可。
3 VC++与OpenGL应用接口的建立实现VC+ +6.0和OpenGL之间图形接口的机制是像素格式设置以及关联DC(DeviceContext)与RC(Rendering Context)[3].在创建一个渲染环境RC之前,首先要设置像素格式,然后为OpenGL建立RC,只有建立RC后,OpenGL才能调用绘图原语在窗口中绘出图形.Win32
API提供了几个操作RC的函数,包括建立、复制、使用、删除、查询等,它们都以wgl为词头.RC是以线程为单位的,每个线程必须使用一个RC作为当前RC,才能执行OpenGL绘图原语.VC+ +6.0和OpenGL图形接口的实现步骤如下:
首先建立一个新的VC+ +Win32 API,然后设置连接OpenGL库文件,在菜单中选择Pro-ject-Settings,最后选择LINK选项,在“Ob-ject/Library Modules”下增加OpenGL所需的库程序,如OpenGL32.lib,Glu32.lib,Glaux.lib[4].做完以上工作后,就可以编写OpenGL程序了.
3.1 Include文件及全局变量的设置
每个程序开始的4行包括了窗口及OpenGL所使用的库的头文件.程序代码如下:
#includewindows.h//视窗文件
#includegl\gl.h//OpenGL库文件的头文件
#includegl\glu.h//GLu32.lib的头文件
#includegl\glaux.h//Glaux.lib的头文件
接下来是定义在程序中计划使用的所有变量.程序代码如下:
HGLRC hRC=NULL;//定义渲染环境
HDC hDC=NULL;//私有的GDI设备环境
HWND hWnd=NULL;//得到窗口句柄
HINSTANCE hInstance;//得到程序的例子
第1行是建立一个渲染环境RC.每一个OpenGL程序都会被链接到渲染环境,渲染环境的作用是将OpenGL调用连结到设备环境,它被定义为hRC.第2行的任务是为程序在窗口中绘制的需要创建一个
您可能关注的文档
- CDMA-调整用户设备参数改善业务信道拥塞问题案例.docx
- CDMAMetro蜂窝基站维护指南.doc
- cocos2dx大巨变3x.docx
- BLJB-3H微机继电保护测试系统.doc
- CL体系技术交底.doc
- COMMERCIALX100INHIBITOR.doc
- CIS手册.doc
- CPR(红十字会版本).docx
- CNOPI具体使用方法及教程.doc
- Creo20工程命令--环形折弯.docx
- 2024浙江衢州市常山县“英才荟”事业单位紧缺急需人才招聘18人笔试备考试题及答案解析.docx
- 2024浙江省近海海洋工程环境与生态安全重点实验室招聘1人笔试备考试题及答案解析.docx
- 2024广东阳江市阳西县补充招聘森林消防应急队员5人笔试备考试题及答案解析.docx
- 2024浙江松阳县新华书店有限公司招聘见习大学生1人笔试备考试题及答案解析.docx
- 2024云南曲靖市马龙区部分事业单位选调(含选调计划)26人笔试备考试题及答案解析.docx
- 2024广西柳州市残疾人劳动就业服务中心招聘残疾人专职委员1人笔试备考试题及答案解析.docx
- 2024广西河池市总工会公开招聘社会化工会工作者3人笔试备考试题及答案解析.docx
- 2024贵州华贵人寿保险股份有限公司第三次社会招聘15人笔试备考试题及答案解析.docx
- 2024广西百色市田东县5月城镇公益性岗位工作人员招聘4人笔试备考试题及答案解析.docx
- 2024广西百色市那坡县坡荷乡人民政府公开招聘编外工作人员2人笔试备考试题及答案解析.docx
1亿VIP精品文档
相关文档
最近下载
- 山东省2024年高三一轮模拟数学试题.docx VIP
- MAZAK车床编程.pdf
- YZ∕T 0172-2020 无人机快递投递服务规范.pdf
- Unit 2 Lesson 4 Again, please!(课件)鲁科版(五四学制)英语四年级下册.pptx
- 初中物理作业分层设计的探索和思考-模板.docx VIP
- 2023年江苏省小学科学实验知识竞赛题汇编.docx
- 5-全国地下水调查技术要求技术要求地下水系统划分导则GWI-A5(11.17.pdf VIP
- 2024年江苏省小学科学实验知识竞赛题汇编.docx
- 2023年四川成都中考试题数学及答案.pdf VIP
- 二年级(2)班学模范做榜样主题班会.pptx
文档评论(0)