對(duì)于OpenGL的初學(xué)者來(lái)說(shuō),有兩個(gè)不應(yīng)該成為困難點(diǎn)的困難點(diǎn)。一個(gè)是編寫(xiě)OpenGL程序需要依賴(lài)特定平臺(tái)的窗體系統(tǒng)。另外一個(gè)是OpenGL的擴(kuò)展機(jī)制需要我們自己去處理。
這里推薦兩個(gè)利器來(lái)解決這兩個(gè)問(wèn)題。讓我們可以更加專(zhuān)注和有效的學(xué)習(xí)OpenGL。分別是
GLUT和
GLEWGLUT解決的問(wèn)題是:使得我們創(chuàng)建完全獨(dú)立于窗口系統(tǒng)的 OpenGL 程序成為可能。我們能夠在不了解 X Windows 或者 Microsoft
Windows 窗口系統(tǒng)本身的情況下編寫(xiě)3D應(yīng)用程序。相信學(xué)過(guò)OpenGL的人都知道
NEHE的OpenGL教程第一課,搭建基本框架是有大約450行代碼的規(guī)模的。我記得當(dāng)初自己剛學(xué)習(xí)OpenGL的時(shí)候用的NEHE的教程,那個(gè)過(guò)程真叫痛苦。但是看看紅寶書(shū)里的hello例子代碼,使用glut,簡(jiǎn)單的10行多的代碼就完成了基本框架,窗體系統(tǒng)的細(xì)節(jié)都被隱藏在后面。有人可能認(rèn)為我們需要掌握這些特定平臺(tái)的特定窗體系統(tǒng)的細(xì)節(jié)。我認(rèn)為這些細(xì)節(jié)不應(yīng)該在學(xué)習(xí)OpenGL的時(shí)候喧賓奪主。
GLEW是一個(gè)跨平臺(tái)的C++擴(kuò)展庫(kù),基于OpenGL圖形接口。使用OpenGL的朋友都知道,windows目前只支持OpenGL1.1的涵數(shù),但
OpenGL現(xiàn)在都發(fā)展到3.1以上了,要使用這些OpenGL的高級(jí)特性,就必須下載最新的擴(kuò)展,而且不同的顯卡公司,也會(huì)發(fā)布一些只有自家顯卡才支持的擴(kuò)展函數(shù),你要想用這數(shù)涵數(shù),不得不去尋找最新的glext.h,有了GLEW擴(kuò)展庫(kù),你就再也不用為找不到函數(shù)的接口而煩惱,因?yàn)镚LEW能自動(dòng)識(shí)別你的平臺(tái)所支持的全部OpenGL高級(jí)擴(kuò)展涵數(shù)。也就是說(shuō),只要包含一個(gè)glew.h頭文件,你就能使用gl,glu,glext,wgl,glx的全
部函數(shù)。GLEW支持目前流行的各種操作系統(tǒng)(including Windows, Linux, Mac OS X, FreeBSD, Irix,
and Solaris)。這一段話(huà)引自:http://blog.csdn.net/huawenguang/archive/2006/11/18/1393638.aspx
有效利用這兩個(gè)利器,可以幫我我們更快更有效的學(xué)習(xí)OpenGL,希望對(duì)大家有所幫助。