位移一定位置注意w值.
当绘制两个物体的时候,另一个物体位移offsetPos(a,b,c,1);\
当如此设置的时候,因为Output.Position = mul( Input.Position + offsetPos, matViewProjection );
你会发现绘制出来的缩小了一半.
\
因为w值为1,当你与Input.Position相加的时候变成了2,rendermonkey内部需要将坐标投影到w=1上,so,将w设置为0即可解决问题.
四分量和三分量相加竟然OK
float4 v;
float4 vv = float4(Pos.xyz + v,1);
同理,float2 texCoord; float2 x = texCoord - 0.5;也OK。
纹理过滤模式设置
欲出现这种效果
但是却出现这种效果
\
因为纹理采样模式没有设置好,将D3DSAMP_MAGFILTER设置为DEDTEXF_LINEAR即可.
D3DRS_CULLMODE效果
若未设置(缺省值为D3DCULL_CCW),则
设置为如图所示的D3DCULL_NONE,则
想要实现这种效果,
却是这种效果,
因为
struct VS_OUTPUT{
float4 Pos : POSITION;
float2 Tex : TEXCOORD;
float4 col : COLOR; // 改为float2即可.
};
TEXCOORD0错写成TEXCOORD1
本来希望这种效果,
却出现的这种效果,
原因是VS_OUTPUT vs_main( …, float2 inTex : TEXCOORD1 ){}
改成正确的TEXCOORD0即可.
着色器属性设置
出现如图效果,
将shader的properties设置为Row Major.
正常显示:
显示shadow出现N多重复阴影
寻址模式默认为WRAP,设置为CLAMP即可