一、下載下傳并安裝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