关于  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!!!

05-11 21:52