[ODE] strange thing
Gilles Marion
gilles.marion at free.fr
Mon Feb 18 06:46:01 2002
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.
PseudoCode :
SavePrecisionSetting()
SetHighPrecision()
Do your Physics/Collision work
SwitchBackToSavedPrecision()
RenderWithD3D()
------------------
Gilles Marion
----- Original Message -----
From: "pro" <orp@uni.de>
To: <ode@q12.org>
Sent: Monday, February 18, 2002 1:59 PM
Subject: [ODE] strange thing
> i want to use ODE with directX 8, but there is a problem: everything works
> fine unless i start the dx subsystem.
>
> if i call
> d3d->CreateDevice(D3DADAPTER_DEFAULT, D3DDEVTYPE_HAL, window,
> D3DCREATE_SOFTWARE_VERTEXPROCESSING, &d3dpp, &d3ddevice);
>
> to create a D3D device ode calculates the first steps correct, but the
> collision response is wrong (the position of a box, reflected by a plane is
> 1.#QNAN0 for x y and z after a collision of box and plane)
>
> if i comment the createdevice call out, everything works fine, the collision
> response seems to be ok.
>
> there are no overlapping memory blocks or other effects in my code.
>
> what can i do?
>
>
>
> thanks
>
>
> _______________________________________________
> ODE mailing list
> ODE@q12.org
> http://q12.org/mailman/listinfo/ode
>
>