目錄
- 一.glad 簡介
- 二.glad 下載
- 四.glad 使用
- 1.OpenGL glfw + glad 效果演示
- 2.OpenGL glfw + glad 《原始碼下載》
- 二.猜你喜歡
零基礎 OpenGL ES 學習路線推薦 : OpenGL ES 學習目錄 >> OpenGL ES 基礎
零基礎 OpenGL ES 學習路線推薦 : OpenGL ES 學習目錄 >> OpenGL ES 特效
零基礎 OpenGL ES 學習路線推薦 : OpenGL ES 學習目錄 >> OpenGL ES 轉場
零基礎 OpenGL ES 學習路線推薦 : OpenGL ES 學習目錄 >> OpenGL ES 函式
零基礎 OpenGL ES 學習路線推薦 : OpenGL ES 學習目錄 >> OpenGL ES GPUImage 使用
零基礎 OpenGL ES 學習路線推薦 : OpenGL ES 學習目錄 >> OpenGL ES GLSL 編程
一.glad 簡介
**GLEW 擴展庫作用:**不同的顯卡公司,也會發布一些只有自家顯卡才支持的擴展函式,你要想用這數涵數,不得不去尋找最新的 glext.h ,有了 GLEW 擴展庫,你就再也不用為找不到函式的介面而煩惱,因為 GLEW 能自動識別你的平臺所支持的全部 OpenGL 高級擴展函式,也就是說,只要包含一個 glew.h 頭檔案,你就能使用 gl glu glext wgl glx 的全部函式,
glad 是繼 gl3w,glew 之后,當前最新的用來訪問 OpenGL 規范介面的第三方庫,簡單說 glad 是 glew 的升級版,就是說 glew 比較老,glad 比較新,Windows 中 使用:
// 定義函式原型
typedef void (*GL_GENBUFFERS) (GLsizei, GLuint*);
// 找到正確的函式并賦值給函式指標
GL_GENBUFFERS glGenBuffers = (GL_GENBUFFERS)wglGetProcAddress("glGenBuffers");
// 現在函式可以被正常呼叫了
GLuint buffer;
glGenBuffers(1, &buffer);
OpenGL 只是一個標準/規范,具體的實作是由驅動開發商針對特定顯卡實作的,由于 OpenGL 驅動版本眾多,它大多數函式的位置都無法在編譯時確定下來,需要在運行時查詢,所以任務就落在了開發者身上,開發者需要在運行時獲取函式地址并將其保存在一個函式指標中供以后使用,這就是 glfw 和 glew 的共同之處;
在 OpenGL 專案開發中,glfw 一般搭配 glad 一起使用;
二.glad 下載
GLAD 是一個開源的庫,它能解決我們上面提到的那個繁瑣的問題,GLAD 的配置與大多數的開源庫有些許的不同,GLAD 使用了一個在線服務,在這里我們能夠告訴 GLAD 需要定義的 OpenGL 版本,并且根據這個版本加載所有相關的 OpenGL 函式,
下載地址:https://glad.dav1d.de/
打開 GLAD 的在線服務,將語言(Language)設定為 C / C++,在 API 選項中,選擇3.3 以上的 OpenGL(gl) 版本(我們的教程中將使用 3.3 版本,但更新的版本也能用),之后將模式 (Profile) 設定為 Core,并且保證選中了生成加載器(Generate a loader) 選項,現在可以先(暫時)忽略擴展(Extensions)中的內容,都選擇完之后,點擊生成 (Generate) 按鈕來生成庫檔案,

GLAD 現在應該提供給你了一個 zip 壓縮檔案,包含兩個頭檔案目錄,和一個 glad.c 檔案,將兩個頭檔案目錄(glad 和 KHR)復制到你的 Include 檔案夾中(或者增加一個額外的專案指向這些目錄),并添加 glad.c 檔案到你的工程中,

四.glad 使用
**鏈接庫:opengl32.lib 和 glfw3.lib**
Windows 上的 OpenGL 庫:如果你是 Windows 平臺,opengl32.lib 已經包含在 Microsoft SDK 里了,它在 Visual Studio 安裝的時候就默認安裝了,由于這篇教程用的是 VS 編譯器,并且是在 Windows 作業系統上,我們只需將opengl32.lib 添加進連接器設定里就行了,值得注意的是,OpenGL 庫 64 位版本的檔案名仍然是 opengl32.lib(和 32 位版本一樣),雖然很奇怪但確實如此,
**Linux 上的 OpenGL 庫:**在 Linux 下你需要鏈接 libGL.so 庫檔案,這需要添加
-lGL到你的聯結器設定中,如果找不到這個庫你可能需要安裝 Mesa, NVidia 或 AMD 的開發包,這部分因平臺而異(而且我也不熟悉 Linux )就不仔細講解了,
1.OpenGL glfw + glad 效果演示

2.OpenGL glfw + glad 《原始碼下載》
注意當前代碼只編譯了 Windows x64 平臺,如果需要 x86 ,自己配置工程屬性編譯即可,原始碼下載:OpenGL_glfw_glad

在 OpenGL 專案開發中,glfw 一般搭配 glad 一起使用;
二.猜你喜歡
- OpenGL ES 簡介
- OpenGL ES 版本介紹
- OpenGL ES 2.0 和 3.0 區別
- OpenGL ES 名詞解釋(一)
- OpenGL ES 名詞解釋(二)
- OpenGL ES GLSL 著色器使用程序
- OpenGL ES EGL 簡介
- OpenGL ES EGL 名詞解釋
- OpenGL ES EGL eglGetDisplay
- OpenGL ES EGL eglInitialize
- OpenGL ES EGL eglGetConfigs
- OpenGL ES EGL eglChooseConfig
- OpenGL ES EGL eglGetError
- OpenGL ES EGL eglCreateContext
- OpenGL ES EGL eglCreateWindowSurface
- OpenGL ES EGL eglCreatePbufferSurface
- OpenGL ES EGL eglMakeCurrent
- OpenGL ES EGL eglSwapBuffer
- OpenGL ES EGL eglDestroySurface
- OpenGL ES EGL eglDestroyContext
- OpenGL ES EGL eglQueryContext
- OpenGL ES EAGLContext 和 EGLContext
- OpenGL ES OpenGL WebGL EGL WGL 區別
- OpenGL ES freeglut 下載和使用
- OpenGL ES glew 下載和使用
- OpenGL ES glut 下載和使用
- OpenGL ES glfw 下載和使用
- OpenGL ES glad 下載和使用
本文由博客 - 猿說編程 猿說編程 發布!
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/532509.html
標籤:C
上一篇:跳一跳
