遊戲開發/渲染與遊戲引擎/OpenGL 指南
外觀
- 建立專案
- 向專案新增庫
- 建立視窗
- 將頂點資料傳送到 openGL
- 從頂點元素陣列中繪製
- 將顏色傳送到 OpenGL
- 將著色器讀入程式
- 編寫頂點著色器
- 編寫片段著色器
- 獲取滑鼠移動和點選輸入
- 獲取鍵盤輸入
- 移動相機以檢視 3D 幾何圖形
- 讀入影像檔案
- 使用 UV 座標
- 將紋理新增到幾何圖形
- OpenGL 數學庫,附帶用於向量、矩陣等的數學程式碼。
- Qt 是一個跨平臺應用程式和 UI 框架,適用於使用 C++ 或 QML(類似於 CSS 和 JavaScript 的語言)的開發人員[6]。
- Cpw 是一個用於 OpenGL 應用程式和遊戲的應用程式框架庫,其模型基於 GLUT API。它旨在兼顧速度、簡單性和可移植性[7]。
- FLTK 提供現代 GUI 功能,沒有膨脹,並透過 OpenGL 及其內建的 GLUT 模擬支援 3D 圖形[7]。
- GLUT 的開源擴充套件替代方案,允許使用者在各種平臺上建立和管理包含 OpenGL 上下文的視窗,並讀取滑鼠、鍵盤和操縱桿功能[7]。
- OpenGL 應用程式開發的開源、可移植框架,帶有一個連結庫,用於處理特定於作業系統的任務,例如開啟 OpenGL 視窗和讀取鍵盤、滑鼠和操縱桿輸入[7]。
- GLUT 的 C++ 包裝器,為建立視窗、選單和其他 GUI 元素以及事件處理提供完全面向物件的 API[7]。
- GLT 可用作 OpenGL 的面向物件介面,或用作變換、形狀或字型等的預先構建的功能庫。GlutMaster 是 GLUT 的 C++ 介面包裝器,為 OpenGL 程式提供可移植的視窗、鍵盤、滑鼠和選單環境[7]。
- GLUI 是一個基於 GLUT 的 C++ 使用者介面庫,它為 OpenGL 應用程式提供按鈕、複選框、單選按鈕和微調器等控制元件。它是獨立於視窗系統的,使用 GLUT 或 FreeGLUT[7]。
- NGL 是一個應用程式框架,在許多方面類似於 GLUT,但在許多方面都有增強,使其成為跨平臺 C++ 應用程式程式設計的簡單而強大的工具[7]。
- 一個跨平臺多媒體庫,旨在提供對音訊、鍵盤、滑鼠、操縱桿、透過 OpenGL 的 3D 硬體和 2D 影片幀緩衝區的級別訪問[7]。
- OpenGL 的主頁
- AngleProject - 用於將 OpenGL 移植到 DirectX
- OpenGL 程式設計華夏公益教科書
- 學習現代 3D 圖形程式設計 - 使用 C/C++ 學習 OpenGL 的線上參考
YouTube
- Jamie King 的 OpenGL 遊戲引擎開發
- Jamie King 的使用 OpenGL 的 3D 計算機圖形學
- thebennybox 的現代 OpenGL 簡介
- thebennybox 的 3D 遊戲引擎開發教程
- ↑ http://www.opentk.com/
- ↑ https://en.wikipedia.org/wiki/OpenGL_Extension_Wrangler_Library
- ↑ http://www.opengl.org/sdk/libs/GLEW/
- ↑ https://en.wikipedia.org/wiki/OpenGL_Utility_Toolkit
- ↑ 第 4 段:http://www.opengl.org/resources/libraries/glut/
- ↑ 直接引用自:http://qt-project.org/
- ↑ a b c d e f g h i GLUT 的替代方案列表:http://www.opengl.org/resources/libraries/windowtoolkits/
- ↑ http://www.khronos.org/opencl/
- ↑ https://en.wikipedia.org/wiki/OpenAL