1 #include "testUtils.h"
\r
5 static bool testLineRendering(video::E_DRIVER_TYPE type)
\r
7 SIrrlichtCreationParameters params;
\r
8 params.AntiAlias = 2;
\r
10 params.WindowSize = core::dimension2d<u32>(160, 120);
\r
11 params.DriverType = type;
\r
13 IrrlichtDevice *device = createDeviceEx(params);
\r
16 return true; // in case the driver type does not exist
\r
18 video::IVideoDriver* driver = device->getVideoDriver();
\r
19 // if no AntiAliasing supported, skip this test
\r
20 if (driver->getDriverAttributes().getAttributeAsInt("AntiAlias")<2)
\r
22 device->closeDevice();
\r
28 logTestString("Testing driver %ls\n", driver->getName());
\r
30 scene::ISceneManager* smgr = device->getSceneManager();
\r
32 scene::IAnimatedMesh* mesh = smgr->getMesh("./media/sydney.md2");
\r
35 device->closeDevice();
\r
41 stabilizeScreenBackground(driver);
\r
43 scene::IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
\r
47 node->setMaterialFlag(video::EMF_LIGHTING, false);
\r
48 node->setMD2Animation(scene::EMAT_STAND);
\r
49 node->setMaterialTexture( 0, driver->getTexture("./media/sydney.bmp") );
\r
52 smgr->addCameraSceneNode(0, core::vector3df(0,30,-40), core::vector3df(0,5,0));
\r
54 device->getTimer()->setTime(0); // scene has animations and current scene seems to be saved at that time
\r
55 driver->beginScene(video::ECBF_COLOR | video::ECBF_DEPTH, video::SColor(255,100,101,140));
\r
57 driver->draw3DBox(node->getBoundingBox(), video::SColor(0,255,0,0));
\r
58 driver->draw2DLine(core::position2di(10,10), core::position2di(100,100), video::SColor(255,0,0,0));
\r
61 bool result = takeScreenshotAndCompareAgainstReference(driver, "-lineAntiAliasing.png", 99.4f );
\r
63 device->closeDevice();
\r
72 TestWithAllHWDrivers(testLineRendering);
\r