关于 error X3014: incorrect number of arguments to numeric-type constructor
这个错误应该是某个类似float4 这样的变量初始化时候错误,比如
Output.Position = mul(float4(Input.Position + view_position, 1 ) ,matViewProjection );
这里应该是 float4(Input.Position.xyz + view_position, 1 ),猜测是RM不支持从float4到float3的类型转换
至于mul(),我用182打开书中环境贴图的例子,发现
Out.Pos = mul( view_proj_matrix, float4(Pos.xyz + view_position, 1) );
而我自己写的时候却不行,非要
Output.Position = mul( float4 (Input.Position.xyz + view_position, 1 ) , matViewProjection ); //这里也是天空盒无限大的原因所在。
奇怪的Rendermonkey!!!