FLSL学习心得

1、shader是一种着色器,在flare3D中用来给图片、3D模型修饰颜色的,使其更加逼真。
*FLSL技术
1)FLSLMaterial使得图形、3D模型全方位着色
要输出Vertex(顶点)和Fragment(片元信息);
例如:
use namespace flare;
use namespace flare.transforms;
use namespace flare.filters;


input UV0 uv;
interpolated float2 iUV=uv;
sampler2D texture;


param float alpha=1;


technique template
{
  output vertex=transform();
  output fragment=sampler2D(texture,iUV)*alpha;
}


AS方面:
[Embed(source="ShaderModer3.flsl.compiled",mimeType="application/octet-stream")] private var flslMaterialAsset:Class;
private var _flslMaterial:FLSLMaterial;
_flslMaterial=new FLSLMaterial("FLSLMaterial",new flslMaterialAsset);
接下来就是给你要着色的模型运用_flslMaterial就行了,例如:
private var Cube _cube=new Cube("cube",10,10,10,1,_flslMaterial);




2)FLSLFilter是指给图形的某个部分着色,不是指整个模型,所以它不需要输出顶点的信息,只需要输出Fragment就可以了
例如:
use namespace flare;
use namespace flare.transforms;
use namespace flare.filters;


sampler2D texture;
param TIME time;


technique template
{
 output fragment=textureMap(texture,float2(1),time.wz);
}


AS方面:
首先导入FLSL文件
[Embed(source="ShaderModer1.flsl.compiled",mimeType="application/octet-stream")] private var flslFilterAsset:Class;
然后导入你要着色的图形文件
[Embed(source="akmat1.png")] private var textureAsset:Class;


private var _flslFilter:FLSLFilter;
private var _texture:Texture3D;
private var _shader:Shader3D;


_flslFilter=new FLSLFilter(new flslFilterAsset,BlendMode.NORMAL);
_flslFilter.params.texture.value=new Texture3D(new textureAsset);
_shader=new Shader3D("",[_flslFilter,new ColorFilter              (0xcdcdb4,0.5,BlendMode.ADD)]);
接下来就是给你的模型贴上你渲染过的图形了
例如:
//给一个正方体贴上_shader类型的贴图
private var Cube _cube=new Cube("cube",10,10,10,1,_shader);
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值