欢迎来到天天文库
浏览记录
ID:40569641
大小:98.00 KB
页数:8页
时间:2019-08-04
《VC中如何配置OpenGL》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、VC中如何配置OpenGL李永红摘要:阐述了Windows中如何设置引用OpenGL进行三维图形绘制,在VC和openGL之间建立桥梁和纽带。关键词:OpenGL,VC程序设计1.概述OpenGL(全写OpenGraphicsLibrary)是个定义了一个跨编程语言、跨平台的编程接口的规格,它用于三维图像。OpenGL是个专业的图形程序接口,是一个功能强大、调用方便的底层图形库。OpenGL能够兼容Windows系统,但不能提供图形用户界面,本文特别介绍了如何在VC中引用OpenGL进行图形绘制。2.直
2、接将OpenGL绘制的图形输出到系统窗口利用VC的AppWizard建立单文档界面的工程文件,在VC环境中进行编译。2.1建立适合于OpenGL的运行环境调用VC设置,将OpenGL所在的头文件目录和静态库文件添加到文件目录中,选择连接设置,增加连接库“opengl32.libglu32.libglaux.li”,打开stdafx.h文件,在该文件中加入#include#include2.2在VC生成的视类中添加"BOOLSetWindowPixelFormat(HDChDC)
3、,并给予实现。BOOLCTestOpenGLView::SetWindowPixelFormat(HDChDC){PIXELFORMATDESCRIPTORpixelDesc;pixelDesc.nSize=sizeof(PIXELFORMATDESCRIPTOR);pixelDesc.nVersion=1;pixelDesc.dwFlags=PFD_DRAW_TO_WINDOW
4、PFD_DRAW_TO_BITMAP
5、PFD_SUPPORT_OPENGL
6、PFD_SUPPORT_GDI
7、PFD_STER
8、EO_DONTCARE;pixelDesc.iPixelType=PFD_TYPE_RGBA;pixelDesc.cColorBits=32;pixelDesc.cRedBits=8;pixelDesc.cRedShift=16;pixelDesc.cGreenBits=8;8pixelDesc.cGreenShift=8;pixelDesc.cBlueBits=8;pixelDesc.cBlueShift=0;pixelDesc.cAlphaBits=0;pixelDesc.cAlphaShift=0
9、;pixelDesc.cAccumBits=64;pixelDesc.cAccumRedBits=16;pixelDesc.cAccumGreenBits=16;pixelDesc.cAccumBlueBits=16;pixelDesc.cAccumAlphaBits=0;pixelDesc.cDepthBits=32;pixelDesc.cStencilBits=8;pixelDesc.cAuxBuffers=0;pixelDesc.iLayerType=PFD_MAIN_PLANE;pixelDes
10、c.bReserved=0;pixelDesc.dwLayerMask=0;pixelDesc.dwVisibleMask=0;pixelDesc.dwDamageMask=0;m_GLPixelIndex=ChoosePixelFormat(hDC,&pixelDesc);if(m_GLPixelIndex==0){m_GLPixelIndex=1;if(DescribePixelFormat(hDC,m_GLPixelIndex,sizeof(PIXELFORMATDESCRIPTOR),&pixe
11、lDesc)==0){returnFALSE;}}if(SetPixelFormat(hDC,m_GLPixelIndex,&pixelDesc)==FALSE){returnFALSE;}if(CreateViewGLContext(hDC)==FALSE)return0;returnTRUE;}在视类头文件中添加成员变量intm_GLPixelIndex;1.1建立函数使得程序的设备描述符CDC与OpenGL发生联系。8BOOLCTestOpenGLView::CreateViewGLContext
12、(HDChDC){m_hGLContext=wglCreateContext(hDC);if(m_hGLContext==NULL){returnFALSE;}if(wglMakeCurrent(hDC,m_hGLContext)==FALSE){returnFALSE;}returnTRUE;}在头文件中添加以下成员变量:HGLRCm_hGLContext;//protect1.1重载OnCreate函数,在其中加入调用OpenGL的语句
此文档下载收益归作者所有