变量映射
EffectCustomTool 1.2支持基本的HLSL数据类型到Xna数据类型的自动映射,包括:
HLSL | Xna |
---|---|
floatNxN | float[] |
float4x4 | Matrix |
string | string |
int | int |
bool | bool |
texture | Texture2D |
texture2D | Texture2D |
texture3D | Texture3D |
textureCube | TextureCube |
float2 | Vector2 |
float3 | Vector3 |
float4 | Vector4 |
不支持生成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的输出窗口中输出,方便修改调试:
自定义C#类的功能
如果需要扩展自动生成的类的功能:比如增加属性,实现接口,重载OnApply方法等,可以直接修改生成的.cs文件。当下一次代码生成器运行的时候,不会覆盖对于.cs文件的任何修改。