OpenGL ES glfw 下載和使用

目錄

零基礎 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 一起使用;

五.猜你喜歡

  1. OpenGL ES 簡介
  2. OpenGL ES 版本介紹
  3. OpenGL ES 2.0 和 3.0 區別
  4. OpenGL ES 名詞解釋(一)
  5. OpenGL ES 名詞解釋(二)
  6. OpenGL ES GLSL 着色器使用過程
  7. OpenGL ES EGL 簡介
  8. OpenGL ES EGL 名詞解釋
  9. OpenGL ES EGL eglGetDisplay
  10. OpenGL ES EGL eglInitialize
  11. OpenGL ES EGL eglGetConfigs
  12. OpenGL ES EGL eglChooseConfig
  13. OpenGL ES EGL eglGetError
  14. OpenGL ES EGL eglCreateContext
  15. OpenGL ES EGL eglCreateWindowSurface
  16. OpenGL ES EGL eglCreatePbufferSurface
  17. OpenGL ES EGL eglMakeCurrent
  18. OpenGL ES EGL eglSwapBuffer
  19. OpenGL ES EGL eglDestroySurface
  20. OpenGL ES EGL eglDestroyContext
  21. OpenGL ES EGL eglQueryContext
  22. OpenGL ES EAGLContext 和 EGLContext
  23. OpenGL ES OpenGL WebGL EGL WGL 區別
  24. OpenGL ES freeglut 下載和使用
  25. OpenGL ES glew 下載和使用
  26. OpenGL ES glut 下載和使用
  27. OpenGL ES glfw 下載和使用
  28. OpenGL ES glad 下載和使用

本文由博客 - 猿說編程 猿說編程 發佈!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章