opengles3 0 一 基本概念

2021-09-26 14:46:17 字數 1183 閱讀 2846

opengl物體圖形都由點、線和多邊形組成。而組成他們的關鍵就在於我們的頂點資料。就像畫畫在開始前會先畫出大概的位置,opengl在繪製的時候也需要準備繪製的位置,而這些位置就是頂點,當頂點組合起來就是頂點座標

opengl程式語言是glsl,就是我們說的著色器語言。語法上比較像c/c++。但是在這一基礎上加上了許多適合圖形處理的一些東西,比如一些針對向量和矩陣操作等。我們要圖形渲染,就一定需要頂點著色器和乙個簡單的片元著色器

頂點著色器

頂點著色器主要進行頂點相關的一些操作。可以用於通過矩陣變換位置、計算照明公式來生成逐頂點顏色以及生成或者變換紋理座標等基於頂點的傳統操作。產生紋理座標、顏色、點位置等資訊送往後續階段。

圖元裝配

頂點被組合成圖元的過程叫做 圖元裝配。圖元是指點、直線和三角形。

該過程還有兩個重要操作:裁剪和淘汰。裁剪是指對於不在視錐體(螢幕上可見的3d區域)內的圖元進行裁剪;淘汰是指根據圖元面向前方或後方選擇拋棄它們(如物體內部的點)。

光柵化

將轉化為片段(fragment)的過程叫做 光柵化。在這裡,虛擬3d世界中的物體投影到平面上,並生成一系列的片段。

而將每個圖元頂點輸出生成每個片段值的機制叫做 插值。

片段(fragment)可以簡單的理解為帶有深度等資訊的畫素點。螢幕上的乙個畫素點可能對應多個片段。

片段著色器

通常我們在這裡對片段進行處理(紋理取樣、顏色彙總等),將每個片段的顏色等屬性計算出來並送給後續階段。

最主要是確定渲染的顏色。就像畫家調色盤。

很多濾鏡、美顏、處理。或者說抖音的一些特效,都可以用片元著色器編寫。

最簡單的片元著色器

逐片段操作

OpenGL ES 3 0 渲染管線介紹

記住下面這張圖,其中帶陰影的方框表示 opengl es 3.0 管線中可程式設計階段。頂點著色器主要進行頂點相關的一些操作。可以用於通過矩陣變換位置 計算照明公式來生成逐頂點顏色以及生成或者變換紋理座標等基於頂點的傳統操作。產生紋理座標 顏色 點位置等資訊送往後續階段。頂點被組合成圖元的過程叫做圖...

OpenGL ES 2 0基本概念

1.opengl es 2.0可程式設計管道 上圖黃色部分 vertex shader和fragment shader 為此管道的可程式設計部分。整個管道包含以下兩個規範 1 opengl es 2.0 api specification 2 opengl es shading language s...

OpenGL ES 3 0頂點著色器(一)

opengl es 3.0流程圖 1.vertex shader 頂點著色器 頂點著色實現了一種通用的可程式設計方法操作頂點。頂點著色器的輸入包括以下幾個 shader program.程式的頂點著色程式源 或可執行程式,描述將在頂點上執行的操作。vertex shader inputs or at...