1.OpenGL(https://opengl.org/)
OpenGL只定義framework框架,也就是說只有functions定義,並沒有實現內容,有點像interface。
實際function內容的,又有顯卡廠商,自行轉寫與優化。
OpenGL API分為:
gl: 核心library
glu:實用library(對gl封裝)
aux:輔助
glut:實用library工具(跨平台的OpenGL程序的工具包)
glx、agl、wgl:不同平台相關
2.1 gult(https://www.opengl.org/resources/libraries/glut/glut_downloads.php) - OpenGL Utility Toolkit
此函示庫已過於老舊,不建議使用。
對應開原版為freegult
2.2 freeglut(http://freeglut.sourceforge.net/) - Free-software/open-source alternative to the OpenGL Utility Toolkit (GLUT) library
因OpenGL無視窗相關控制的函式,所以網路上很多高手加入相關功能,像早期glut,與現在的freeglut。
freeglut完全相容glut,是glut的代替品。freeglut 3.0版本較穩定,推薦使用。
2.3 glfw(https://www.glfw.org/)
lightweight、Open、跨平台。支持OpenGL及OpenGL ES,包含視窗管理、檔案存取、事件處理等。
少量的API,即可達到目的。
glfw目的一樣是取代glut。
3.1 glew(http://glew.sourceforge.net/) - The OpenGL Extension Wrangler Library
glut或freegult,主要是OpenGL 1.0的基本函式功能
glew使用OpenGL 2.0之後的工具函式功能
使用glew.h文件,就可以使用gl,glu,glext,wgl,glx相關函式(包含廠商開發一些函式)
glew包含了OpenGL所需的核心
3.2 glad(https://glad.dav1d.de/) - Multi-Language GL/GLES/EGL/GLX/WGL Loader-Generator
glad為gl3w、glew之後,目前最新OpenGL規範接口的第三方函式庫。glad是glew的升級版。
4. 結論
gl相關函式
舊:glut/freeglut
新:glfw
函式接口
舊:glew
新:glad
開發組和
(1)freeglut + glew -->較舊穩定搭配
(2)glfw + glew
(3)glfw + glad -->目前最新搭配
參考文章:https://blog.csdn.net/libaineu2004/article/details/105879521
沒有留言:
張貼留言