View Single Post
Old 04-14-2005, 05:51 PM   #7 (permalink)
IbeNewb
Registered User
 
Join Date: Apr 2005
Posts: 5
IbeNewb is on a distinguished road
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();
IbeNewb is offline   Reply With Quote