使用 EffectCustomTool 为 Xna 创建自定义 Shader 特效(二)

变量映射

      EffectCustomTool 1.2支持基本的HLSL数据类型到Xna数据类型的自动映射,包括:

HLSL Xna
floatNxNfloat[]
float4x4Matrix
stringstring
intint
boolbool
textureTexture2D
texture2DTexture2D
texture3DTexture3D
textureCubeTextureCube
float2Vector2
float3Vector3
float4Vector4

      不支持生成Sampler,struct及technique的C#属性。

控制属性访问级别

      生成的C#属性的访问级别有两种:如果HLSL中变量的首字母为大写,则生成public属性;如果为小写,则生成internal属性。下划线属于小写。

生成Xml文档

      为HLSL中的变量加入SasUiDescription标注可以自动为C#属性增加Xml文档,如:

float Saturation <string SasUiDescription = "Gets or sets saturation amount.";> = 0.5f;

      将会生成:

/// <summary>
/// Gets or sets saturation amount.
/// </summary>
public float Saturation
{
    get { return _Saturation.GetValueSingle(); }
    set { _Saturation.SetValue(value); }
}

HLSL编译错误报告

      当修改.fx文件并保存时,Visual Studio会重新生成新的代码。如果.fx文件中出现了语法错误,将会直接在Visual Studio的输出窗口中输出,方便修改调试:

image

自定义C#类的功能

      如果需要扩展自动生成的类的功能:比如增加属性,实现接口,重载OnApply方法等,可以直接修改生成的.cs文件。当下一次代码生成器运行的时候,不会覆盖对于.cs文件的任何修改。

转载于:https://www.cnblogs.com/yufeih/archive/2010/08/15/1800092.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值