FLSL2.0学习笔记(一)
来源:互联网 发布:cache数据库 东华 编辑:程序博客网 时间:2024/05/18 01:15
最近在学习Flare3D 2.5的FLSL2.0着色语言,把其记录下来,方便以后查看。
一、什么是FLSL?
FLSL 是一种高级的shader 语言,专供Flare3D使用。和GLSL,HLSL以及PiexlBender 3D有些相似之处,FLSL可以让你同时执行片元和顶点的操作,简化开发过程。
FLSL2.0中有两种FLSL对象:FLSLMaterial和FLSLFilter。FLSLMaterial是一个完整的shader,可以在你的Flare3D程序中直接编译和执行。FLSLFilter只是整个shader的一个部分,它可以像其他Filter一样能够结合其他Filter来创建一些复杂的效果。
二、FLSL2.0的结构
一个最简单的FLSL2.0文件如:
use namespace flare.transforms;technique main() {output vertex = transform();output fragment = float4(1);}
我们做的第一件事就是告诉编译器我们要使用的namespace(命名空间)。这个命名空间包括基本数据类型和一些函数库。你也能添加自己的命名空间和自定义函数。
第二排是必须的,technique 不能改变,函数名main 可以任意取,可以带小括号也可以不带小括号。函数里有一个顶点着色器的输出和一个片元着色器的输出。其中transform() 就的flare.transforms这个命名空间里定义的函数。着色语言是以矢量和矩阵为基础,所以有很多矢量表示法,如:片元着色器的输出是float4(1.0) ,表示由4个为1.0 的浮点数组成的矢量。从颜色的体系来理解这4个矢量分别表示颜色的红色、绿色、蓝色和透明度,float4(1.0) = float4(1.0,1.0,1.0,1.0) 结果就是不透明的白色。
- FLSL2.0学习笔记(一)
- FLSL2.0学习笔记(二)
- FLSL2.0学习笔记(三)
- ActionScript3.0学习笔记一
- Struts2.0学习笔记一
- ASP.NET2.0 学习笔记(一)
- mysql5.0学习笔记(一)
- jdk5.0多线程学习笔记(一)
- JDK6.0学习笔记(一)前言
- 追忆Tapstry4.0------学习笔记(一)
- AAA3.0 学习笔记 (一)
- struts2.0学习笔记(一)
- JDK5.0 Annotation学习笔记(一)
- Cocos2d3.0RC2 Label 学习笔记一
- 学习 OAuth2.0 笔记( 一 )
- 【OAuth2.0学习笔记一】原理介绍
- Microsoft Dynamics CRM4.0学习笔记(一)
- 从0开始学习,RequireJS笔记(一)
- Linked List Cycle
- 八大排序算法及完整c代码—直接插入排序
- 在网页上显示所在地天气预报的html代码
- Hadoop安装配置
- 未来超速列车概念 上下车无需停站
- FLSL2.0学习笔记(一)
- 定制jQuery File Upload为微博式单文件上传
- 【live555】推流者使用的ServerMediaSession类,以及如何产生SDP
- 黑马程序员-----StringBuffer 字符缓存区
- .NET学习路线
- javascript中的正则表达式学习
- unsigned int 与 int
- 神奇的懒惰正则表达式使用?
- 记事软件Lisa之PC端Java版1.0发布