Visual Studio OpenGL 配置方法
2011-10-19 13:49
387 查看
Visual Studio OpenGL 配置方法
OpenGL开发库的文件包含:
配置方法:
1.将开发库中的.h文件拷贝到Visual C++ 6.0的\Include\GL目录中
2.将.lib文件拷贝到Visual C++ 6.0的\lib目录中
3.将.dll文件拷贝到操作系统的system32目录中
代码示例:
注意:
忘记
#pragmacomment(lib, "XXX.lib")
会造成链接错误!
OpenGL开发库的文件包含:
动态链接库文件(.dll)
glut32.dll、glu.dll、glut.dll、OPENGL.DLL。头文件(.h)
GL.H、GLAUX.H、GLEXT.H、GLU.H、GLUT.H、WGLEXT.H。库文件(.lib)
GLAUX.LIB、Glu32.lib、Glu.lib、glut32.lib、glut.lib、Opengl32.lib、opengl.lib。配置方法:
1.将开发库中的.h文件拷贝到Visual C++ 6.0的\Include\GL目录中
2.将.lib文件拷贝到Visual C++ 6.0的\lib目录中
3.将.dll文件拷贝到操作系统的system32目录中
代码示例:
/* Name: GLSAMPLE Author: Blaine Hodge Description: OpenGL sample. Read the fileInclude\Gl\ReadMe.txt for informations on usingOpenGL. Date: - Copyright: Public domain */ //Includes #include <windows.h> #include <gl/gl.h> #pragma comment(lib, "opengl32.lib") #pragma comment(lib, "opengl.lib") #pragma comment(lib, "glu32.lib") #pragma comment(lib, "glut32.lib") #pragma comment(lib, "glaux.lib") #pragma comment(lib, "glu.lib") //Function Declarations LRESULT CALLBACK WndProc(HWND hWnd,UINT message, WPARAM wParam, LPARAM lParam); VOIDEnableOpenGL(HWND hWnd, HDC * hDC, HGLRC * hRC); VOIDDisableOpenGL(HWND hWnd, HDC hDC, HGLRC hRC); //WinMain int WINAPI WinMain(HINSTANCE hInstance, HINSTANCEhPrevInstance, LPSTR lpCmdLine, int iCmdShow) { WNDCLASS wc; HWND hWnd; HDC hDC; HGLRC hRC; MSG msg; BOOL bQuit = FALSE; float theta =0.0f; // register windowclass wc.style = CS_OWNDC; wc.lpfnWndProc = WndProc; wc.cbClsExtra = 0; wc.cbWndExtra = 0; wc.hInstance = hInstance; wc.hIcon = LoadIcon( NULL, IDI_APPLICATION ); wc.hCursor = LoadCursor( NULL, IDC_ARROW ); wc.hbrBackground = (HBRUSH)GetStockObject(BLACK_BRUSH ); wc.lpszMenuName = NULL; wc.lpszClassName = "GLSample"; RegisterClass( &wc ); // create mainwindow hWnd = CreateWindow( "GLSample","OpenGL Sample", WS_CAPTION | WS_POPUPWINDOW | WS_VISIBLE, 0, 0, 256, 256, NULL, NULL, hInstance, NULL); // enable OpenGLfor the window EnableOpenGL( hWnd, &hDC, &hRC ); // program mainloop while(!bQuit) { // check formessages if(PeekMessage(&msg, NULL, 0, 0, PM_REMOVE)) { // handleor dispatch messages if(msg.message == WM_QUIT) { bQuit = TRUE; } else { TranslateMessage(&msg); DispatchMessage(&msg); } } else { // OpenGLanimation code goes here glClearColor(0.0f, 0.0f, 0.0f, 0.0f); glClear(GL_COLOR_BUFFER_BIT); glPushMatrix(); glRotatef(theta, 0.0f, 0.0f, 1.0f); glBegin(GL_TRIANGLES); glColor3f( 1.0f, 0.0f, 0.0f );glVertex2f( 0.0f, 1.0f ); glColor3f( 0.0f, 1.0f, 0.0f );glVertex2f( 0.87f, -0.5f ); glColor3f( 0.0f, 0.0f, 1.0f );glVertex2f( -0.87f, -0.5f ); glEnd(); glPopMatrix(); SwapBuffers( hDC ); theta += 1.0f; } } // shutdown OpenGL DisableOpenGL( hWnd, hDC, hRC ); // destroy thewindow explicitly DestroyWindow( hWnd ); returnmsg.wParam; } //Window Procedure LRESULT CALLBACKWndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) { switch (message) { caseWM_CREATE: return0; caseWM_CLOSE: PostQuitMessage( 0 ); return0; caseWM_DESTROY: return0; caseWM_KEYDOWN: switch(wParam) { caseVK_ESCAPE: PostQuitMessage( 0 ); return0; } return0; default: returnDefWindowProc(hWnd, message, wParam, lParam); } } //Enable OpenGL VOID EnableOpenGL(HWND hWnd, HDC * hDC, HGLRC * hRC ) { PIXELFORMATDESCRIPTOR pfd; int iFormat; // get the devicecontext (DC) *hDC = GetDC( hWnd ); // set the pixelformat for the DC ZeroMemory( &pfd, sizeof( pfd ) ); pfd.nSize = sizeof(pfd ); pfd.nVersion = 1; pfd.dwFlags = PFD_DRAW_TO_WINDOW | PFD_SUPPORT_OPENGL | PFD_DOUBLEBUFFER; pfd.iPixelType = PFD_TYPE_RGBA; pfd.cColorBits = 24; pfd.cDepthBits = 16; pfd.iLayerType = PFD_MAIN_PLANE; iFormat = ChoosePixelFormat( *hDC, &pfd); SetPixelFormat( *hDC, iFormat, &pfd ); // create andenable the render context (RC) *hRC = wglCreateContext( *hDC ); wglMakeCurrent( *hDC, *hRC ); } //Disable OpenGL VOID DisableOpenGL(HWND hWnd, HDC hDC, HGLRC hRC ) { wglMakeCurrent( NULL, NULL ); wglDeleteContext( hRC ); ReleaseDC( hWnd, hDC ); }
注意:
忘记
#pragmacomment(lib, "XXX.lib")
会造成链接错误!
相关文章推荐
- OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008和Visual Studio 2010配置方法详解
- Visual Studio 2008下OpenGL环境配置
- Windows Visual Studio 下配置OpenGL - chenyangsocool - 博客园
- OpenCV 2.3.x/2.4.x在Visual Studio 2005/2008、Visual Studio 2010和Visual Studio 2012配置方法详解
- VS2010配置OpenGL的方法
- opencv 2.46与visual studio 2012 配置方法
- MFC下,配置OpenGL所需文件、配置方法与注意事项
- Visual Studio下OpenCV最完美的环境配置方法
- Visual Studio 2010下opencv的配置方法
- Visual Studio下OpenCV最完美的环境配置方法
- Visual Studio 2012 VC下 OpenGL 配置与使用
- Visual Studio 2010 集成环境下配置OpenGL环境
- win10 64位系统 Visual Studio 2010 OpenGL配置
- win7和VS2010下配置OpenGL的方法
- win7和VS2010下配置OpenGL的方法
- OpenCV 2.3.1在Visual Studio 2005/2008、Visual Studio 2010配置方法详解
- 【百度知道】OpenGL的配置方法
- libigl项目Visual Studio配置方法
- OpenGL实用函数工具包GLUT在Visual Studio上的配置
- Visual Studio 2010 环境下 配置LibCurl with SSL 方法