GLSL
GLSL - OpenGL Shading Language 也稱
背景 [编辑]
具有 跨 平台 的 相 容 性 ,包括 Macintosh、Windows和 Linux等 作業 系統 。編 寫 的 著 色 器 可 以在所有 支援 OpenGL著 色 語 言 的 繪圖 卡上使用 。允許 廠 商 為 特定 的 繪圖 卡架構設計 最 佳 化 的 代 碼。
詳細 資料 [编辑]
資料 類型 [编辑]
OpenGL
- void –
用 於沒有 返 回 值的函 式 - bool –
條件 類型 ,其值可 以是真 或 假 - int –
帶 負號 整數 - float – 浮點
數 - vec2 – 2
個 浮點數 組成 的 向 量 - vec3 – 3
個 浮點數 組成 的 向 量 - vec4 – 4
個 浮點數 組成 的 向 量 - bvec2 – 2
個 布 林 組成 的 向 量 - bvec3 – 3
個 布 林 組成 的 向 量 - bvec4 – 4
個 布 林 組成 的 向 量 - ivec2 – 2
個 整數 組成 的 向 量 - ivec3 – 3
個 整數 組成 的 向 量 - ivec4 – 4
個 整數 組成 的 向 量 - mat2 – 浮點
數 的 2X2矩 陣 - mat3 – 浮點
數 的 3X3矩 陣 - mat4 – 浮點
數 的 4X4矩 陣 - sampler1D –
用 來 存 取 一 維紋理 的 句柄 (handle)(或 :操作 ,作 名詞 解 。) - sampler2D –
用 來 存 取 二 維紋理 的 句柄 - sampler3D –
用 來 存 取 三 維紋理 的 句柄 - samplerCube –
用 來 存 取立 方 映 射 紋 理 的 句柄 - sampler1Dshadow –
用 來 存 取 一維深度紋理的句柄 - sampler2Dshadow –
用 來 存 取 二維深度紋理的句柄
運算 子 [编辑]
OpenGL
函 式 和 控 制 結構 [编辑]
編 譯 和 執行 [编辑]
GLSL
GLSL
GLSL 頂點 著 色 器 的 簡單 範 例 [编辑]
void main(void)
{
gl_Position = ftransform();
}
GLSL 片 斷 著 色 器 的 簡單 範 例 [编辑]
void main(void)
{
gl_FragColor = vec4(1.0, 0.0, 0.0, 1.0);
}
工具 [编辑]
GLSL
- RenderMonkey(页面
存 档备份,存 于互联网档案 馆) - 這個軟體是 由 ATI製作 的 ,提供 界面 用 以建立 、編 譯 和 除 錯 GLSL著 色 器 ,和 DirectX著 色 器 一 樣 。僅能在 Windows平台 上 執行 。 - GLSLEditorSample -
在 Mac OS X上 ,它是目前 唯一 可用 的 程 式 ,其提供 著 色 器 的 建立 和 編 譯 ,但 不能 除 錯。它是 cocoa應用 程 式 ,僅能在 Mac OS X上 執行 。 - Lumina(页面
存 档备份,存 于互联网档案 馆) - Lumina是 新 的 GLSL開發 工具 。其使用 QT界面 ,可 以跨平台 。
參考 文獻 [编辑]
- Rost, Randi J. OpenGL Shading Language. 1st ed. Pearson Education, Inc, 2004. ISBN 0-321-19789-5
- Kessenich, John, & Baldwin, David, & Rost, Randi. The OpenGL Shading Language. Version 1.10.59. 3Dlabs, Inc. Ltd. https://web.archive.org/web/20070404171317/http://developer.3dlabs.com/documents/index.htm
外部 連結 [编辑]
- GLSL
語 言 規格 ,版本 1.20(页面存 档备份,存 于互联网档案 馆) - GLSL
參考 表 (页面存 档备份,存 于互联网档案 馆) - OpenGL
片 斷 著 色 器 規格 - OpenGL
頂點 著 色 器 規格 - OpenGL
程 式 規格 [永久 失效 連結 ] 官 方 OpenGL網 站(页面存 档备份,存 于互联网档案 馆)
來 自 Lighthouse3D的 教學 和範 例 (页面存 档备份,存 于互联网档案 馆)來 自 NeHe Productions的 教學 和範 例 - GLSL
開發 環境 (页面存 档备份,存 于互联网档案 馆) - RenderMonkey
著 色 器 開發 環境 (页面存 档备份,存 于互联网档案 馆) - Geist3D
繪圖 引擎,內含 GLSL編輯 器 - Lumina
跨 平台 GLSL IDE(页面存 档备份,存 于互联网档案 馆)
参 见[编辑]
|
|