when i try to load a terain, irrlicht always crashes with an protection fault.
here's my code:
Code: Select all
//includes
#include <irrlicht.h>
#include <iostream>
#include <windows.h>
//namespaces
using namespace irr;
using namespace core;
using namespace video;
using namespace scene;
using namespace gui;
using namespace io;
//irrlicht lib and dll
#pragma comment(lib, "Irrlicht.lib")
//main
int WINAPI WinMain( HINSTANCE hInst, HINSTANCE, LPSTR strCmdLine, INT )
{
IrrlichtDevice *device =
createDevice(EDT_DIRECTX9, core::dimension2d<s32>(800, 600), 0, 0);
if (device == 0)
return 1;
video::IVideoDriver* driver = device->getVideoDriver();
scene::ISceneManager* smgr = device->getSceneManager();
driver->setTextureCreationFlag (ETCF_ALWAYS_32_BIT , 1);
IAnimatedMeshSceneNode* terrainnode;
IAnimatedMesh* terrain;
IImage* terraintexture = driver->createImageFromFile("skybox/terrain_skin1.jpg");
IImage* terrainheightmap = driver->createImageFromFile("skybox/terrain_heightmap1.jpg");
terrain = smgr->addTerrainMesh("terrain",
terraintexture,
terrainheightmap,
dimension2d<f32>(64.0f, 64.0f),
2500.0f,
dimension2d< s32 >(64, 64));
terrainnode = smgr->addAnimatedMeshSceneNode(terrain);
terrainnode->setMaterialFlag (EMF_LIGHTING, false);
smgr->getMeshManipulator()->makePlanarTextureMapping(terrain->getMesh(0), 0.002f);
smgr->addCameraSceneNodeFPS();
ITexture* skyup = driver->getTexture("skybox/up.jpg");
ITexture* skydown = driver->getTexture("skybox/down.jpg");
ITexture* skyleft = driver->getTexture("skybox/left.jpg");
ITexture* skyright = driver->getTexture("skybox/right.jpg");
ITexture* skyfront = driver->getTexture("skybox/front.jpg");
ITexture* skyback = driver->getTexture("skybox/back.jpg");
ISceneNode* SkyBoxNode = smgr->addSkyBoxSceneNode(
skyup,
skydown,
skyleft,
skyright,
skyfront,
skyback);
smgr->addCameraSceneNodeFPS();
device->getCursorControl()->setVisible(false);
int lastFPS = -1;
while(device->run())
if (device->isWindowActive())
{
driver->beginScene(true, true, video::SColor(0,200,200,200));
smgr->drawAll();
driver->endScene();
int fps = driver->getFPS();
int polys = driver->getPrimitiveCountDrawn();
if (lastFPS != fps)
{
core::stringw str = L"Irrlicht 3D Engine v";
str += device->getVersion();
str += " / Terrain Demo [";
str += driver->getName();
str += "] FPS:";
str += fps;
str +=" Polygons in Scene: ";
str += polys;
device->setWindowCaption(str.c_str());
lastFPS = fps;
}
}
device->drop();
return 0;
}
and here's what the msv c++ debugger says:
"ntdll.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\kernel32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\Programme\Microsoft Visual Studio\MyProjects\Spiel 32\Irrlicht.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\user32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\gdi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\advapi32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\rpcrt4.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\opengl32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\msvcrt.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\glu32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\ddraw.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\dciman32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\imm32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\lpk.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\usp10.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\MSCTF.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\Programme\Caere\OmniPagePro90\OPHOOK32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\ole32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\oleaut32.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\version.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\Programme\AOL 9.0\idleproc.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\msvcr71.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
Irrlicht Engine version 0.8
Microsoft Windows XP Personal (Build 2600)
DirectX9 Renderer
"C:\WINDOWS\system32\d3d9.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\d3d8thk.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\winmm.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\serwvdrv.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
"C:\WINDOWS\system32\umdmxfrm.dll" wurde geladen. Es wurden keine entsprechenden Symbolinformationen gefunden.
NVIDIA GeForce FX 5700 Ultra nv4_disp.dll 6.14.10.6693
Loaded texture: #DefaultFont
Nicht abgefangene Ausnahme in Spiel 32.exe (IRRLICHT.DLL): 0xC0000005: Access Violation.
thx for your help