Irrlicht crashes with terrain

If you are a new Irrlicht Engine user, and have a newbie-question, this is the forum for you. You may also post general programming questions here.
Post Reply
CHB2
Posts: 4
Joined: Thu Mar 03, 2005 8:34 am

Irrlicht crashes with terrain

Post by CHB2 »

Hello,


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
MFG


CHB2
schick
Posts: 230
Joined: Tue Oct 07, 2003 3:55 pm
Location: Germany
Contact:

Post by schick »

Well, learn to use a debugger, then there shouldn't be any big problem left.
Please send me an e-mail instead of a private message.
Post Reply