Windows7下OpenGL简单使用举例
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                Windows7下OpenGL简单使用举例
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                1、? 從http://www.opengl.org/resources/libraries/glut/glut_downloads.php下載glut相關頭文件和庫glutdlls37beta.zip ,(默認的windows機子上并沒有glut頭文件及相應的庫,它主要用來打開窗口、開發和管理菜單,以及管理事件等),解壓縮,將解壓縮后的glut.h頭文件放到C:\Program Files (x86)\Microsoft SDKs\Windows\v7.0A\include\GL\ 文件夾下,將glut.lib和glut32.lib靜態庫文件放到C:\ProgramFiles (x86)\Microsoft SDKs\Windows\v7.0A\Lib 文件夾下,將glut.dll和glut32.dll動態庫文件放到C:\Windows\system文件夾下;
2、? 新建一個工程,代碼如下(參考《計算機圖形學(OpenGL版)第3版》):
#include "stdafx.h"#include <Windows.h>
#include <gl/gl.h>
#include <gl/glu.h>
#include <gl/glut.h>void myInit(void)
{glClearColor(1.0, 0.0, 1.0, 0.0);//設置背景顏色為洋紅glColor3f(0.0f, 1.0f, 0.0f);//設置繪圖顏色為綠色glPointSize(4.0);//設置點的大小為4*4像素glMatrixMode(GL_PROJECTION);//設置合適的矩陣glLoadIdentity();gluOrtho2D(0.0, 640.0, 0.0, 480.0);
}void myDisplay(void)
{glClear(GL_COLOR_BUFFER_BIT);//清屏glBegin(GL_POINTS);glVertex2i(289, 190);glVertex2i(320, 128);glVertex2i(239, 67);glVertex2i(194, 101);glVertex2i(129, 83);glVertex2i(75, 73);glVertex2i(74, 74);glVertex2i(20, 10);glEnd();glFlush();
}int _tmain(int argc, char* argv[])
{glutInit(&argc, argv);//初始化工具包glutInitDisplayMode(GLUT_SINGLE | GLUT_RGB);//設置顯示模式glutInitWindowSize(640, 480);//設置窗口大小glutInitWindowPosition(100, 150);//設置屏幕上窗口位置glutCreateWindow("my first attempt");//打開帶標題的窗口glutDisplayFunc(&myDisplay);//注冊重畫回調函數myInit();glutMainLoop();//進入循環return 0;
}顯示結果:打開一個640*480的窗口,背景色為洋紅,繪圖顏色為綠色,顯示有8個點的北斗星群。
4 種主要的OpenGL庫:(1)、基本GL庫:OpenGL庫的基礎,它提供OpenGL的基本函數,每個OpenGL函數都以字符GL開頭;(2)、GLUT庫:GL實用工具包(the GLUtility Toolkit),它主要用來打開窗口、開發和管理菜單,以及管理事件等;(3)、GLU庫:GL實用庫(the GLUtility Library),它提供高級例程,處理矩陣操作和繪制二次曲面如球和圓柱體。GLU庫也提供將非凸和非簡單多邊形分解成簡單形狀(如三角形)的實用函數(基本的OpenGL處理不好這些操作)。它還在別的方面為簡化程序員的工作提供幫助;(4)、GLUI庫:用戶接口庫(theUser Interface Library),只要使用GLUT,GLUI就將適當地運行。GLUI為OpenGL程序提供了良好的控制工具和菜單。 OpenGL 函數是設備無關的。總結
以上是生活随笔為你收集整理的Windows7下OpenGL简单使用举例的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: C/C++中switch用法的一种替换方
- 下一篇: MMX Intrinsics各函数介绍
