Visual Studio 2008 e Irrlicth 3d Motoru Kurulumu

1. Irrlicth in son sürümünü aşağıdaki adresten indiriyoruz.

http://irrlicht.sourceforge.net/downloads.html

2. Zip dosyasını açıyoruz.

3. Irrlicth-x.x/include un altındaki header dosyalarının hepsini C:\Program Files\Microsoft Visual Studio 9.0\VC\include klasörüne kopyal?yoruz.

4.   Visual Studio 2008 de Tool->Options->Project and Solutions->VC++ Directories kısmına aşağıdaki iki satırı ekliyoruz.

…/Irrlicth-x.x/include

…/Irrlicth-x.x/lib/Win32-visualstudio

 

image

 

5. Visual Studio 2008 de Project->Options->Configuration Properties->Linker->Input->Additional Dependecies kısmına aşağıdaki satırı ekliyoruz.

Irrlicht.lib

image

 

6. Yeni bir proje oluşturuyoruz.

 

image

 

7. Irrlicth in header dosyalarını projemizin header kısmına ekliyoruz.

 

image

 

…\irrlicht-x.x\include altındaki bütün dosyaları ekliyoruz.

image

 

8. Source folder ina yeni bir cpp dosyası ekleyip aşağıdaki kodu ekliyoruz.

 

#include <irrlicht.h>
#include <iostream>
using namespace irr;
#ifdef _MSC_VER
#pragma comment(lib, "Irrlicht.lib")
#endif
int main()
{
// ask user for driver

video::E_DRIVER_TYPE driverType;

printf("Please select the driver you want for this example:\n"\
" (a) Direct3D 9.0c\n (b) Direct3D 8.1\n (c) OpenGL 1.5\n"\
" (d) Software Renderer\n (e) Burning's Software Renderer\n"\
" (f) NullDevice\n (otherKey) exit\n\n");

char i;
std::cin >> i;

switch(i)
{
case 'a': driverType = video::EDT_DIRECT3D9;break;
case 'b': driverType = video::EDT_DIRECT3D8;break;
case 'c': driverType = video::EDT_OPENGL;   break;
case 'd': driverType = video::EDT_SOFTWARE; break;
case 'e': driverType = video::EDT_BURNINGSVIDEO;break;
case 'f': driverType = video::EDT_NULL;     break;
default: return 1;
}

// create device and exit if creation failed

IrrlichtDevice *device =
createDevice(driverType, core::dimension2d<u32>(640, 480));

if (device == 0)
return 1; // could not create selected driver.
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
device->getFileSystem()->addZipFileArchive("C:/Users/Ugur/Desktop/irrlicht-1.6/media/map-20kdm2.pk3");
scene::IAnimatedMesh* mesh = smgr->getMesh("20kdm2.bsp");
scene::ISceneNode* node = 0;
if (mesh)
node = smgr->addOctTreeSceneNode(mesh->getMesh(0), 0, -1, 1024);
//              node = smgr->addMeshSceneNode(mesh->getMesh(0));
if (node)
node->setPosition(core::vector3df(-1300,-144,-1249));
smgr->addCameraSceneNodeFPS();
device->getCursorControl()->setVisible(false);
int lastFPS = -1;

while(device->run())
{
if (device->isWindowActive())
{
driver->beginScene(true, true, video::SColor(255,200,200,200));
smgr->drawAll();
driver->endScene();

int fps = driver->getFPS();

if (lastFPS != fps)
{
core::stringw str = L"Irrlicht Engine - Quake 3 Map example [";
str += driver->getName();
str += "] FPS:";
str += fps;

device->setWindowCaption(str.c_str());
lastFPS = fps;
}
}
else
device->yield();
}
device->drop();
return 0;
}

9.  Projeyi build ettiğimz zaman Quake 3 in bir haritası açılacaktır.

image image

 

Uğur Dönmez

METU CENG

Leave a Reply