OpenGL官方教程 著色器語言概述

2022-03-22 21:18:44 字數 1258 閱讀 1610

將       pertransformed vertices (每乙個待轉換頂點)

傳人 programmable vertex processor (可程式設計的頂點處理器)

得到 transformed vertices (轉換的頂點)

將 transformed vertices (轉換的頂點)

傳入 programmable geometry processor (可程式設計的幾何處理器)

得到 assenbled polygons,lines,or points (組裝 多邊形、線或點)

進行 clipping,rasterization and interpolation (裁剪,光柵化和插值)

得到 rasterized pertransformed fragments (光柵化待轉換的片元[片段])

傳入 programmable fragment processor (可程式設計的片元處理器)

得到 transformed ftagment (轉換的片元)

進行 raster operations (光柵運算)

進行 pixel update (畫素更新)

傳入 frame buffer (幀緩衝區)

頂點處理器是乙個可程式設計的單元,該單元對傳入的頂點屬性,如位置、顏色、紋理座標等進行操作。頂點處理器的目的是執行傳統的圖形操作,如頂點變換,法線變換/歸一化,紋理座標的生成,和紋理座標變換。

頂點處理器只有乙個頂點作為輸入,只寫乙個頂點作為輸出。頂點的拓撲資訊是不可用的。

幾何處理器允許訪問幾何形狀(線、三角形、四邊形等),它甚至可以建立新的幾何形狀。然而,幾何著色器並不是opengl著色器語言規範的一部分。這是乙個多廠商的擴充套件(multivendor extension),目前可用的(開發商)顯示卡是nvidia geforce 8系列顯示卡。因為這是opengl著色器語言中非常重要的乙個擴充套件,所以在這個教程提到它。(如果你不想或不能使用幾何著色器,簡單的忽略它,使用固定功能管線來做)

片元(片段)處理器的目的是用於執行一些傳統的圖形操作。例如計算插值、紋理訪問、紋理應用、霧化、顏色求和等。

opengl著色器語言有點類似於c語言。頂點著色器、幾何著色器和片元(片段)著色器都必須有乙個入口函式"void main()"

OpenGL著色器程式解析 著色器基礎

部分內容 於 現代opengl渲染管線嚴重依賴著色器來處理傳入的資料。如果不使用著色器,那麼用opengl可以做到的事情可能只有清除視窗內容了,可見著色器對於opengl的重要性。在opengl 3.0版本以前 含該版本 或者如果你用到了相容模式 compatibility prof?ile 環境,...

Opengl(四) 著色器

1.opengl確保至少有16個包含4個元素的頂點屬性可用。2.不同著色器之間的資料傳輸,在傳送方中宣告乙個輸出,在接收方中宣告乙個同名輸入。3.uniform是全域性的,uniform會一直保留他的資料,直到他被重置或更新。4.設定uniform的方式 glint x glgetuniformlo...

著色器與OpenGL

現代opengl渲染管線嚴重依賴著色器來處理傳入的資料。如果不使用著色器,那麼用opengl可以做到的事情可能只有清除視窗內容了,可見著色器對於opengl的重要性。在opengl 3.0版本以前 含該版本 或者如果你用到了相容模式 compatibility prof?ile 環境,opengl還...