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
函 式 和 控 制 结构
[编辑]类似于 C语言,GLSL
编译和 执行
[编辑]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(页面存 档备份,存 于互联网档案 馆)
参 见
[编辑]
|
|