DX11,创建动态贴图,贴图的最大分辨率是 8192*16384 (或者16384*8192),
并且,宽高的最大值就是 16384 。
创建贴图时,宽高的值不要求是2的整数幂。
========================================================================
在HLSL脚本中,定义一个贴图对象:
Texture2D myTexture;
如果你要使用多个贴图对象,不能使用下面的方法:
Texture2D myTexture1;
Texture2D myTexture2;
......
正确的做法是,定义一个贴图对象数组
Texture2D myTextureList[3];
========================================================================
每个顶点受若干根(小于等于4根)骨骼的影响,权重值用来描述骨骼对顶点的影响程度。
有些资料说,必须保证权重的总和是1。
我现在认为不需要保证权重的总和是1。
例如,有一个顶点,它只受两根骨骼的轻微的影响,权重值比较小才能体现“轻微”,那么权重的总和必定不是1。
========================================================================
在HLSL脚本中,函数的return语句最好只有一句,如果有多个return语句可能会报错。
例如,下面这段代码就会报错。
错误描述是 asymmetric returns from if statements not yet implemented 。
float CalculateXX()
{
if (XX) { return 1.0f; }
if (YY) { return 0.0f; }
return 3.0f;
}
========================================================================
在HLSL脚本中,尽量使用uint整数类型,比使用int的运算效率要高。
如果你使用了int整数类型,在把脚本编译成二进制文件时,会给你上面那样的提示信息。
========================================================================