1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62
|
#include <irrlicht.h>
//Namespaces
using namespace irr;
using namespace core;
using namespace video;
using namespace scene;
using namespace io;
using namespace gui;
//Closes Console
//#ifdef _IRR WINDOWS_
#pragma comment(lib, "Irrlicht.lib")
//#pragma comment((linker, "/subsystem:windows /ENTRY:mainCRTStartup")
//#endif
//Begin Program
int main(int argc, char[] argv)
{
IrrlichtDevice *device =
createDevice( video::EDT_SOFTWARE, dimension2d<u32>(800, 600), 32,
false, false, false, 0);
if(!device)
return 1;
//Window Caption
device->setWindowCaption(L"Irrlicht Engine Demo");
//Get Drivers
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment();
//Static Text
guienv->addStaticText(L"This is the Irrlicht Software renderer!",
rect<s32>(10,10,260,22), true);
//Bring Sydney into window
IAnimatedMesh* mesh = smgr->getMesh("C:\\Program Files\\irrlicht-1.7.2\\media\\sydney.md2");
if (!mesh)
{
device->drop();
return 1;
}
//Animation Mesh
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setMD2Animation(scene::EMAT_STAND);
node->setMaterialTexture( 0, driver->getTexture("C:\\Program Files\\irrlicht-1.7.2\\media\\sydney.bmp") );
}
//Camera
smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
while (device->run())
{
//Drawing Scene
driver->beginScene(true, true, SColor(255,100,101,140));
smgr->drawAll();
guienv->drawAll();
driver->endScene();
device->drop();
}
return 0;
//End of Execution
}
|