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 63 64 65 66 67 68 69 70
|
// Main Program File
#include <irrlicht.h>
using namespace irr;
using namespace core;
using namespace video;
using namespace scene;
using namespace io;
using namespace gui;
#ifdef _IRR_WINDOWS_
#pragma comment(lib, "Irrlicht.lib")
#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
#endif
int main()
{
IrrlichtDevice *dev = createDevice(EDT_OPENGL, dimension2d<u32>(800, 600), 16, false, false, false, 0);
IVideoDriver *dri = dev->getVideoDriver();
ISceneManager *smgr = dev->getSceneManager();
IGUIEnvironment *gui = dev->getGUIEnvironment();
dev->getFileSystem()->addZipFileArchive("C:/Users/My Computer/Desktop/GameEngine/irrlicht-1.7.2/media/map-20kdm2.pk3");
IAnimatedMesh *mesh = smgr->getMesh("20kdm2.bsp");
ISceneNode *node = 0;
if(mesh)
{
node = smgr->addOctreeSceneNode(mesh->getMesh(0));
if(node)
{
node->setPosition(vector3df(-1300, -144, -1249));
smgr->addCameraSceneNodeFPS();
dev->getCursorControl()->setVisible(false);
int lastFPS = -1;
}
while(dev->run())
if(dev->isWindowActive())
{
dri->beginScene(true, true, SColor(255, 100, 101, 140));
smgr->drawAll();
gui->drawAll();
dri->endScene();
int fps = dri->getFPS();
if (lastFPS != fps)
{
stringw str = L"Irrlicht Engine = Quake 3 map [";
str += dri->getName();
str += "] fps: ";
str += fps;
dev->setWindowCaption(str.c_str());
lastFPS = fps;
}else
{
dev->yield();
}
dev->drop();
return 0;
}
|