I can't get the irrlicht library to work so I can't compile to test. However, this is the setup basically:
main.cpp:
Code:
#include "CTerrainNodes.h" #include <irrlicht.h>
#pragma comment(lib, "Irrlicht.lib");
int main()
{
video::IVideoDriver* driver = device->getVideoDriver();
scene::ITerrainSceneNode* smgr = device->getSceneManager();
CTerrainNodes TNodes(driver, smgr);
TNodes.RenderTerrain();
} CTerrainNodes.h:
Code:
#ifndef CTerrainNodes_h
#define CTerrainNodes_h
using namespace irr;
class CTerrainNodes
{
public:
CTerrainNodes(video::IVideoDriver*, scene::ITerrainSceneNode*);
);
void RenderTerrain();
private:
scene::ITerrainSceneNode* terrain;
scene::ITerrainSceneNode* smgr;
video::IVideoDriver* driver;
};
#endif CTerrainNodes.cpp:
Code:
#include <stdio.h>
#include <wchar.h>
#include <irrlicht.h>
#include "CTerrainNodes.h" using namespace irr;
#pragma comment(lib, "Irrlicht.lib")
CTerrainNodes::CTerrainNodes(video::IVideoDriver* driver, scene::ITerrainSceneNode* smgr)
: smgr(smgr), driver(driver);
{ }
void CTerrainNodes::RenderTerrain( )
{
// add terrain(center) scene node
terrain = smgr->addTerrainSceneNode( "tiles/tile.bmp");
terrain->setScale(core::vector3df(10, 2, 10));
terrain->setPosition(core::vector3df(0,0,0));
terrain->setMaterialFlag(video::EMF_LIGHTING, false);
terrain->setMaterialTexture(0, driver->getTexture("textures/grassdark.bmp"));
terrain->scaleTexture(1.0f);
}