> It may be due to D3D changing the internal precision of the FPU. > Try setting the D3DCREATE_FPU_PRESERVE flag in your call to CreateDevice(). > If it works, remove it and handle the precision change yourself. > Look at the _controlfp function in MSVC docs. yes this works many thanks