#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