目錄
- 一.glfw 簡介
- 二.glfw 下載
- 三.glfw 編譯
- 四.glfw 使用
- 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 編程
一.glfw 簡介
官方解釋:glfw is an Open Source, multi-platform library for OpenGL, OpenGL ES and Vulkan development on the desktop. It provides a simple API for creating windows, contexts and surfaces, receiving input and events.
glfw 開發目的是用于替代 glut 的,它是一個輕量級的,開源的,跨平臺的 library,支持 OpenGL 及 OpenGL ES ,用來管理視窗,讀取輸入,處理事件等,
**glfw 優勢:**glut 太老了,最后一個版本還是 90 年代的,freeglut 完全兼容 glut ,算是 glut 的代替品,功能齊全,但是 bug 太多,穩定性也不好(不是我說的啊,不過 3.0 版本還是挺穩定的),所以 glfw 應運而生,
總之,glfw 是 glut / freegult 的升級和改進,glfw 是用來顯示視窗和捕捉視窗事件的一套 API,可以理解成 Qt 和 windows 平臺的 WPF ,
OpenGL 只是一套控制 GPU 的規則,并沒有對于跨平臺視窗顯示和事件進行規定,所以需要一個顯示顯卡渲染的視窗,這就是 glfw 的作用,
在 OpenGL 專案開發中,glfw 一般搭配 glad 一起使用;
二.glfw 下載
下載地址:https://www.glfw.org/
三.glfw 編譯
1.下載原始碼后解壓,使用 CMake 編譯,CMake 安裝請參考《Windwos CMake 下載和安裝》

2. CMake 編譯成功后,會 CMake 設定的輸出目錄中生成 glfw.sln ,使用 Visual Studio 打開工程編譯即可生成靜態庫 glfw3.lib

四.glfw 使用
**鏈接庫: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/535958.html
標籤:C
