OpenGL GLSL學習心得(1)

2021-07-22 01:31:11 字數 823 閱讀 4227

接觸glsl程式設計已經有一段時間了,這是本人在學習期間的一點學習筆記,第一part。

(1)如果程式中有幾何著色器,則一定要有頂點著色器。

(2)幾何著色器可以像頂點和片元著色器一樣使用uniform變數。

(3)幾何著色器可以使用所有opengl定義的標準變數,比如轉換矩陣,因此,你可以在頂點著色器中轉換原始頂點,也可以在幾何著色器中在提交頂點的時候轉換原始頂點,後一種方式更方便。

(4)在幾何著色器中同樣使用in 或者out來定義輸入或者輸出變數。

(5)在geometry shader裡,我們處理的單元就是圖元,雖然根本上都是頂點的處理,但進入vertex shader裡的是一次乙個的頂點,而進入geometry shader的是一次一批的頂點,geometry shader掌握著這些頂點所組成的圖元的資訊。

(6)一旦opengl應用指定shaderprogram使用geometry shader,則上面的敘述變成:在assembly生成圖元primative後,再一直到柵格化前進行geometry shader的處理,再到rasterization柵格化。我們也用乙個簡單的geometry shader,單純把進入的圖元原原本本地(組織形式和數量也一致)。

(7)在幾何著色器中的輸入,比如:in vec2 texcoord, in vec3 normal,其陣列大小有輸入圖元的頂點數決定。

(8)高版本glsl不支援texture1d()紋理查詢函式。

(9)glsl4.3以前,不支援二維陣列,從vertexshader到geometry傳陣列,可以使用介面塊,介面塊可以包含陣列,單介面塊本身作為乙個陣列傳進geometryshader中,內建的gl_in便是個典型的例子。

oracle學習心得 1

oracle 使用心得 剛開始使用oracle,把今天的學習心得小結一下。oracle 預裝之後會有一些預設的帳戶供使用,具有管理員許可權的可用 system manager 接下來熟悉了一下oracle基本命令 1 建表 舉例 sql create table mytable name chara...

jQuery學習心得(1)

經常見到jquery中的這種寫法 function jquery 許多前端工程師都只是照貓畫虎的這樣,卻不清楚為什麼這樣寫。其實這個寫法是函式定義立即呼叫的寫法之一。在js中,function在定義的時候就可以通過在後面加乙個小括號的形式立即進行呼叫。例如 function function fun...

ThinkPHP學習心得(1

1.模組下面用空方法 empty 處理非法的action請求 2.控制器action資料夾中的 action 控制器對應tpl下的 視 件夾,action 中的 yyy 方法對應 資料夾下的 yyy.html 檔案 3.學習了模板中標籤 5.空模組處理控制器 emptyaction.class.ph...