Problem mit Irrlicht - 3D-Objekt (Mesh) laden
-
Guten Abend,
ich hab mir ein Objekt in Blender erstellt und wollte es in Irrlicht laden.Hier ist das Tutorial das ich benutze: http://de.wikibooks.org/wiki/Irrlicht_-_from_Noob_to_Pro:_Blender_und_Irrlicht
Leider stürzt das Programm einfach ab.
Etwa so:
- Programm öffnet
- Alles weiß
- Programm stürzt ab (nach etwa 1-2 Sekunden)Der Code:
#include <irrlicht.h> using namespace irr; using namespace core; using namespace scene; using namespace video; using namespace io; using namespace gui; int main(int argc, char** argv) { IrrlichtDevice *device = createDevice(EDT_DIRECT3D9, dimension2d<u32>(1000, 600), 32, false, false, false, 0); device->setWindowCaption(L"Animation mit Irrlicht"); IVideoDriver* driver = device->getVideoDriver(); ISceneManager* smgr = device->getSceneManager(); IGUIEnvironment* guienv = device->getGUIEnvironment(); smgr->addCameraSceneNode(0, vector3df(0,0,10), vector3df(0,0,0)); /// Die Mesh - Hier stürzt das Programm ab ISceneNode* node = smgr->addMeshSceneNode(smgr->getMesh("untitled.obj")); while(device->run()) { driver->beginScene(true, true, SColor(3,150,203,255)); smgr->drawAll(); guienv->drawAll(); driver->endScene(); } device->drop(); return 0; }
Ich benutzte Code::Blocks mit dem GNU GCC Compiler.
Soll ich was anderes benutzen?Hatte jemand dieses Problem?
-
kann es sein dass smgr->getMesh("untitled.obj") null returnt?
leg das resultat in eine zwischenvariabel ab und bau einen check auf null ein.
-
rapso schrieb:
kann es sein dass smgr->getMesh("untitled.obj") null returnt?
leg das resultat in eine zwischenvariabel ab und bau einen check auf null ein.addMeshSceneNode ueberprueft das selber.
Die 1 bis 2 sekunden klingen eher so, als wuerde das Fenster nicht mehr reagieren und Windows es beenden.
Ersetz mal EDT_DIRECT3D9 durch EDT_BURNINGSVIDEO. Wenn das nicht hilft, musst du Irrlicht mal selbst compilen, was aber etwas uebel sein kann, wenn man sich nicht auskennt.
-
Ich hab die Lösung. Danke...
Für alle die das Problem auch haben:Installiert euch Visual C++.
Damit funktioniert alles...