OpenGL學習筆記《一》建立乙個空的視窗

2022-08-28 11:51:15 字數 1210 閱讀 8300

最近在這個**學習opengl的相關知識,通過寫部落格的方式以加深理解。

首先需要搭建好環境

接下來我們建立視窗

首先,我們需要初始化opengl的環境:

glfwinit();

//config glfw

glfwwindowhint(glfw_context_version_major, 3

); glfwwindowhint(glfw_context_version_minor, 3);

glfwwindowhint(glfw_opengl_profile, glfw_opengl_core_profile);

呼叫glfw的初始化介面,並且宣告我們使用的opengl版本,使用的是opengl的core profile。

初始化之後,我們就可以建立視窗了:

//

create window

glfwwindow *window = glfwcreatewindow(800, 600, "

learnopengl

", nullptr, nullptr);

if (nullptr ==window)

glfwmakecontextcurrent(window);

glfwsetframebuffersizecallback(window, framebuffer_size_callback);

//initialize glad

if (!gladloadglloader((gladloadproc)glfwgetprocaddress))

glfwcreatewindow方法引數一為視窗的寬度,引數二為視窗的高度,引數三為視窗的名字,後面兩個引數暫時可以傳空,最後返回glfwwindow型別的物件,在後面需要用到;

glfwmakecontextcurrent 將上面建立的glfwwindow物件設定為當前的上下文,因為opengl是乙個狀態機,需要依賴這個上下文環境;

glfwsetframebuffersizecallback 設定乙個**,當視窗大小發生變動的時候,需要調整opengl的相關引數,以適應視窗大小變化帶來的影響;

gladloadglloader 則是用來初始化上文提到的glad,管理opengl的各個api。

此時執行專案,就可以得到乙個黑色底的視窗了,什麼也沒有,確實是空的。

OpenGL學習筆記(一)第乙個視窗

學習一下opengl,這是做一下記錄。跟著裡面寫的第乙個視窗,做一下記錄。可能唯一的區別就是有注釋。include define glew static include includeusing namespace std void glfwinput glfwwindow window int m...

OpenGL建立乙個幀緩衝

1.定義幀緩衝變數名 unsigned int gbuffer 2.建立幀緩衝 glgenframebuffers 1,gbuffer 3.將幀緩衝繫結到gl framebuffer glbindframebuffer gl framebuffer,gbuffer 4.將gposition紋理變數儲...

OpenGL學習(2) 建立第乙個視窗

建立 glfw是乙個專門針對opengl的c語言庫,它提供了一些渲染物體所需的最低限度的介面。它允許使用者建立opengl上下文,定義視窗引數以及處理使用者輸入,這正是我們需要的。include int main 退出 迴圈執行完畢後,我們需要釋放前面所申請的資源 glfwterminate ret...