martes, 14 de abril de 2015

Textura a Cubo en Irrlicht


Descargar Assets para este proyecto


#include <irrlicht.h>

//los namespace para definir funciones de irrlicht
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;

#ifdef _IRR_WINDOWS_
#pragma comment(lib, "Irrlicht.lib")
#pragma comment(linker, "/subsystem:windows /ENTRY:mainCRTStartup")
#endif


int main()
{
 //define un device para la pantalla
 IrrlichtDevice *device = createDevice(EDT_OPENGL, dimension2d<u32>(640, 480), 16, false,
  false, false, 0);

 //en caso de error
 if (!device)
  return 1;

 //Para ponerle un titulo a la ventana
 device->setWindowCaption(L"Textura a Cubo en irrlicht");

 //Creo un driver de video
 IVideoDriver *driver = device->getVideoDriver();

 //Creo un nodo para manejar la scena
 ISceneManager *sceneManager = device->getSceneManager();

 //Agrego un cubo a la escena
 IMeshSceneNode *cube = sceneManager->addCubeSceneNode();

 //En caso de error
 if (!cube)
 {
  return 1;
 }

 //Si es correcto le agrego la textura y un material
 if (cube)
 {
  cube->setMaterialFlag(EMF_LIGHTING, false);
  cube->setMaterialTexture(0, driver->getTexture("wall.bmp"));
 }

 //Agrego la camara en la escena
 sceneManager->addCameraSceneNode(0, vector3df(0, 30, -40), vector3df(0, 5, 0));

 //Gameloop
 while (device->run())
 {
   driver->beginScene(true, true, SColor(255, 100, 101, 140));

   //Dibujo todo del sceneManager
   sceneManager->drawAll();

   driver->endScene();
 }

 //cerrar device
 device->drop();

 return 0;
}


No hay comentarios:

Publicar un comentario