天天看點

Visual C++ 6.0下OpenGL開發環境配置

一、下載下傳并安裝glut庫

    opengl的glut庫 GLUT不是OpenGL所必須的,但它會給我們的學習帶來一定的友善,推薦安裝。

    Windows環境下的GLUT下載下傳位址:(大小約為150k)

    http://www.opengl.org/resources/libraries/glut/glutdlls37beta.zip

    Windows環境下安裝GLUT的步驟:

    1、将下載下傳的壓縮包解開,将得到5個檔案

    2、在“我的電腦”中搜尋“gl.h”,并找到其所在檔案夾(Program Files/Microsoft Visual Studio/VC98/Include/GL檔案夾”)。把解壓得到的glut.h放到這個檔案夾。

    3、把解壓得到的glut.lib和glut32.lib放到靜态函數庫所在檔案夾(Program Files/Microsoft Visual Studio/VC98/lib”檔案夾)。

    4、把解壓得到的glut.dll和glut32.dll放到作業系統目錄下面的system32檔案夾内。(典型的位置為:C:/Windows/System32)

二、vc工程配置:

  1)建立一個工程。

  2)連結OpenGL libraries。在Visual C++中先單擊Project,再單擊Settings,再找到Link單擊,最後在Object/library modules 的最前面加上opengl32.lib glu32.lib glut.lib glaux.lib gdi32.lib user32.lib advapi32.lib

      或者在project -> add to project ->files引入需要的頭檔案

  3)單擊Project Settings中的C/C++标簽,将Preprocessor definitions 中的_CONSOLE改為__WINDOWS。最後單擊OK。

        4)然後在stdafx.h檔案中加入

#include <windows.h>

#include <GL/glu.h>

#include <GL/gl.h>

#include <GL/glut.h>

#include <GL/glaux.h>

注意:#include <windows.h>是需要的,不引入的話有時會報錯。

   完成後,就可以編寫你自己的程式了。在這裡,貼一個網上的例子。

#include <stdafx.h>

void background(void)

{

//設定背景顔色為黑色

glClearColor(0.0,0.0,0.0,0.0);

}

void myDisplay(void)

{

//buffer設定為顔色可寫

glClear(GL_COLOR_BUFFER_BIT);

//開始畫三角形

glBegin(GL_TRIANGLES);

//設定為光滑明暗模式

glShadeModel(GL_SMOOTH);

//設定第一個頂點為紅色

glColor3f(1.0,0.0,0.0);

//設定第一個頂點的坐标為(-1.0,-1.0)

glVertex2f(-1.0,-1.0);

//設定第二個頂點為綠色

glColor3f(0.0,1.0,0.0);

//設定第二個頂點的坐标為(0.0,-1.0)

glVertex2f(0.0,-1.0);

//設定第三個頂點為藍色

glColor3f(0.0,0.0,1.0);

//設定第三個頂點的坐标為(-0.5,1.0)

glVertex2f(-0.5,1.0);

//三角形結束

glEnd();

//強制OpenGL函數在有限時間内運作

glFlush();

}

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);

}

本文來自CSDN部落格,轉載請标明出處:http://blog.csdn.net/lbt609/archive/2007/07/08/1682496.aspx