OpenGL 閱讀筆記 (二) OpenGL基本操作

這邊虎喵跳過glfw/glew的初始化,
先來提一下OpenGL的基本操作方式

前面也提到過, OpenGL是一個類C的語言,
因此使用C/C++的攻城獅們應該會感到很熟悉.
OpenGL的基本動作循環如下:


每一行code的解釋如下:

// 本地變數, 用來獲取操作物件的索引值(index)
int object;

// 向OpenGL獲取對應的index, 數量numbers可以自己指定, 需要跟你傳進來的object指針匹配 
// 由於此時帶進來的object只有一個int, 因此這邊number會填1
glGenXXXObject(OBJECT_NUMBERS, &object);

// 綁定該index到操作物件上, 操作物件的類型都是OpenGL定義好的, 需要依照使用來選擇
glBindBXXXObject(SOME_OPENGL_DEFINED_TARGET, object);

// 將資料傳送對應的操作物件上面
glBufferData(SOME_OPENGL_DEFINED_TARGET, sizeof(YOUR_DATA), YOUR_DATA, object);

// 解綁操作物件
glBindBXXXObject(SOME_OPENGL_DEFINED_TARGET, 0);

// 釋放操作物件
glDeleteXXXOject(OBJECT_NUMBERS, &object);

從上述的流程我們也可以看出:
真正負責管理物件的人是OpenGL
我們從CPU端可以做的事情是向OpenGL索取操作物件的index,
在CPU操作的時候都需要透過這個index來進行.

有了這個基本概念以後,
我們接著開始介紹繪製圖形必要的兩個著色器 (Shader)
只要使用這兩個著色器就可以畫出圖形了~

沒有留言:

張貼留言

OpenGL 閱讀筆記 (二) OpenGL基本操作

這邊虎喵跳過glfw/glew的初始化, 先來提一下OpenGL的基本操作方式 前面也提到過, OpenGL是一個類C的語言, 因此使用C/C++的攻城獅們應該會感到很熟悉. OpenGL的基本動作循環如下: 每一行code的解釋如下: // 本地變數,...