Como eu ando vendo isso ultimamente, resolvi meio que traduzir um tutorial, na verdade fiz outro a partir daquele! hehehe
Bom, primeiramente, se não tiver, baixe a Irrlicht e a Newton.
Eu estou usando o Visual C++ 2008 Express Edition, mas nada impede de você utilizar outros compiladores…
Então, inicie um projeto, a primeira coisa a fazer, é adicionar as pastas de include adicionais da Irrlicht e da Newton, e adicionar também as bibliotecas estáticas (.LIB no VC, se for no mingw é .A). Vá em Project -> Project Properties, clique em C/C++ e na opção Additional Include Directories, coloce as pastas de Include da Irrlicht e da Newton, aqui na minha ficou assim: F:\NewtonSDK\sdk;”F:\irrlicht-1.4\include”. Depois em Linker->Input, no Additional Dependencies, coloque as bibliotecas estáticas, no meu: F:\irrlicht-1.4\lib\Win32-visualstudio\Irrlicht.lib F:\NewtonSDK\sdk\dll\Newton.lib.
Pronto, agora crie um arquivo Cpp, e coloque um esqueleto básico, mais ou menos assim:
#include <irrlicht.h>
#pragma comment(lib, "Irrlicht.lib")
using namespace irr;
using namespace video;
using namespace core;
using namespace scene;
int main()
{
IrrlichtDevice* device = createDevice(EDT_OPENGL);
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
ISceneNode* cube = smgr->addCubeSceneNode();
cube->setPosition(vector3df(0,0,50));
ICameraSceneNode* cam = smgr->addCameraSceneNodeFPS();
while (device->run())
{
if (device->isWindowActive())
{
driver->beginScene(true, true, SColor(255,255,255,255));
smgr->drawAll();
driver->endScene();
}
}
return 0;
}
Este exemplo vai conter uma câmera FPS e um cubo preto. Nada de interessante… hehehe
Agora vamos integrar a newton… Adicione o header da Newton:
#include <newton.h>
Na Newton nós temos o NewtonWorld, que é mais ou menos como o IrrlichtDevice para a Irrlicht. temos que inicializar:
NewtonWorld *nWorld = NewtonCreate(NULL, NULL);
E então no fim, desaloque o ponteiro, assim:
NewtonDestroy(nWorld);
Bom isso parece sem utilidade, sim está sem utilidade, porém se isso funcionou, a newton está pronta para o uso! Já está integrada, agora só falta começar a usar! hehehe
Código completo:
#include <irrlicht.h>
#include <newton.h>
#pragma comment(lib, "Irrlicht.lib")
using namespace irr;
using namespace video;
using namespace core;
using namespace scene;
int main()
{
IrrlichtDevice* device = createDevice(EDT_OPENGL);
NewtonWorld* nWorld = NewtonCreate(NULL, NULL);
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
ISceneNode* cube = smgr->addCubeSceneNode();
ICameraSceneNode* cam = smgr->addCameraSceneNodeFPS();
cube->setPosition(vector3df(0,0,50));
while (device->run())
{
if (device->isWindowActive())
{
driver->beginScene(true, true, SColor(255,255,255,255));
smgr->drawAll();
driver->endScene();
}
}
device->drop();
NewtonDestroy(nWorld);
return 0;
}
Pretendo postar algum tutorial de como fazer alguma coisa útil com ela, claro, quando eu aprender! hehehe
Ahh, o tutorial que eu usei foi este aqui: The Beginning Of The Integration
Contato