On my computer, OpenGL passes the test, but Direct3D fails. I'm running Windows XP SP2, with all the current updates and my graphics chipset is the mobile Intel 915GM onboard graphics accelerator, with the latest driver, although I don't understand why my graphics driver or choice of renderer would affect the result of vector3d.equals(). This behavior is consistent in both Irrlicht 1.3.1 and 1.3.
Thanks for any help/data anyone can provide!
Test code:
Code: Select all
#include <irrlicht.h>
irr::IrrlichtDevice* device = 0;
#define NULL_VECTOR irr::core::vector3df(-99999,-99999,-99999)
int main (int argc, char * const argv[]) {
#if 1
irr::video::E_DRIVER_TYPE driverType = irr::video::EDT_DIRECT3D9;
#else
irr::video::E_DRIVER_TYPE driverType = irr::video::EDT_OPENGL;
#endif
device = irr::createDevice(driverType, irr::core::dimension2d<irr::s32>(640, 480),
16, false, false, false, NULL);
if (device == 0)
return -1;
bool equal = NULL_VECTOR.equals(NULL_VECTOR);
printf("Test\t\t[%s]\n", equal ? "PASSED" : "FAILED");
return 0;
}