Ok cool, I got it to compile with no errors. thanks.
I had to switch
scene::ITerrainSceneNode* smgr; to
scene::ISceneManager* smgr;
But I got another question, because another problem has occured. I need to pass
terrain back to the main.cpp script, so I can attach a selector to it for collision detection. How can I go about doing this?
-jesse
Code:
CTerrainNodes.h
---------------------------------------
#ifndef CTerrainNodes_h
#define CTerrainNodes_h
using namespace irr;
class CTerrainNodes
{
public:
CTerrainNodes(video::IVideoDriver*, scene::ISceneManager*);
void RenderTerrain();
private:
scene::ITerrainSceneNode* terrain;
scene::ISceneManager* smgr;
video::IVideoDriver* driver;
};
#endif
CTerrainNodes.cpp
---------------------------------------
#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::ISceneManager* 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);
}
Main.cpp
--------------------------------
// Render Terrain
CTerrainNodes TNodes(driver, smgr);
Nodes.RenderTerrain();