opengl4 0使用小結

2021-10-05 22:06:18 字數 1046 閱讀 7883

opengl

vao vbo fbo

著色器感覺

首先需要兩個庫的支援,視窗庫和opengl顯示卡介面庫,可能表達的不太準確,反正就是那個意思。

使用到了glad庫,封裝了不同的硬體顯示卡驅動opengl介面,直接呼叫就可以,glew也可以實現glad的功能。還需要乙個視窗庫,可以使用glfw,或者freeglut,或者qt也可以。

我用的是glad 和 glfw,以及glad和qt 兩種。

網上很多相關資料。不在贅述

需要連線opengl32.lib這個庫。

網上可程式設計管線的內容專案**比較少,很多都是固定管線的。因為專案做簡單的**功能,需要接觸opengl,選擇了高版本4.0,方便以後擴充套件。新的總是好的。

固定管線不需要寫glsl語言,實現一些簡單的三維效果很簡單,比如說畫一些幾何體,線段,點啥的。

可程式設計管線就強大多了,而且增加了許多新功能新特性。

我覺得畫一些簡單靜態三維模型,固定管線也足夠了,資料也多,使用也方便。

主要是看自己的需求。

他們的意思不再接受,記錄下使用過程

glbindbuffer();

glbufferdata();

申請完vbo後,需要給他分配空間,是顯示卡的空間。需要先繫結vbo在分配,可以分配並初始化,也可以只分配先給它null。後面再更新資料。

glbuffersubdata

用來更新vbo。也可以用來覆蓋之前的vbo資料。

建立自己的fbo,至少需要給它分配顏色緩衝,深度緩衝。

使用完,記得delete。

頂點著色器分為輸入和輸出兩部分,負責的功能是把輸入的資料進行矩陣變換位置,計算光照公式生成逐頂點顏⾊,⽣成/變換紋理座標.並且把位置和紋理座標這樣的引數傳送到片段著色器.。

片元著色器的作用是處理由光柵化階段生成的每個片元,最終計算出每個畫素的最終顏色。歸根結底,實際上就是資料的集合。這個資料集合包含每乙個畫素的各個顏色分量和畫素透明度的值。

opengl是個巨大的狀態機,用面向過程的眼光看待它。。任何乙個介面,放在乙個不同的地方,接下來的渲染可能就發生了很大的改變。即使就差那麼一兩句**。

OpenGL第12 14講小結

首先要為自己為什麼沒有寫第10講的控制3d場景和第11講的紅旗飄飄呢?因為沒看啊 哈哈哈,而且我嘗試著執行紅旗飄飄的時候電腦藍屏了 可能不是它的鍋 暫時跳過了。恩,12到14主要了解了這麼些東西,乙個使用list來批量建立重複的物件,還有就是顯示3d文字。建立乙個list 方便自己記直接貼 了,其實...

OpenGL第8,9講小結

這兩節,透明度和物體的3d運動,主要集中在第9講,因為第9講也用到了通過alpha值來調整透明度的地方。因為要模擬星星,所以要建立的四邊形需要很多,例子中建立了50個正方形。因為每個星星的屬性都差不多,所以選擇了用結構體來迴圈建立。感覺有點像物件導向的思路。為了讓星星在翻轉的時候不至於由麵變成一條線...

OpenGL4 0 GLSL預定義變數

glsl為不同的渲染階段定義了一些特定的變數。這些預定義 也叫做內建變數 有特定的屬性。所有的預定義變數都以gl 開頭。使用者定義的變數不能以此開頭。下面分類進行介紹。1 頂點著色器輸入 in intgl vertexid in intgl instanceid gl vertexid是當前被處理的...