Configurando Irrlicht e CodeBlocks no Ubuntu
Iniciando uma série de tutoriais de programação de jogos com a Irrlicht Engine, vamos começar pela instalação e configuração da Irrlicht no Ubuntu, bem como sua integração com a ótima IDE multiplataforma Code::Blocks.
Apesar de esse tutorial abordar especificamente a instalação da engine no Ubuntu 8.04, pode ser facilmente adaptado para qualquer outra distribuição Linux.
Vamos ao que interessa. O que vamos precisar:
1. Última versão do SDK da Irrlicht (1.4.1 no momento), que pode ser baixado em: http://irrlicht.sourceforge.net.
2. Última versão do Code::Blocks (8.02 no momento), que pode ser baixado em: http://www.codeblocks.org. Nesse caso, escolha o binário da plataforma e distribuição adequada (no meu caso, Linux 64-bit Ubuntu Package).
3. Dependências da Irrlicht, que podem ser obtidas através do comando:
4. Dependências do Code::Blocks, que podem ser obtidas através dos comandos:
Uma vez efetuados os downloads, é hora de compilar a Irrlicht. Descompacte o SDK em uma local de sua preferência, cujo caminho referenciaremos no decorrer deste tutorial como irrlichtPath. No meu caso, o irrlichtPath é /home/erisvaldo/irrlicht-1.4.1.
No seu terminal, digite a seguinte sequência de comandos:
make
make NDEBUG=1
Se não houve nenhum erro durante o make (warnings são normais), então a Irrlicht está instalada corretamente. Para ter certeza, vamos executar o exemplo "Hello World":
make
cd ../../bin/Linux/
./01.HelloWorld
Se o exemplo rodar normalmente, então está tudo certo e você pode dar prosseguimento para a segunda etapa: instalar e configurar o Code::Blocks.
A instalação é muito simples: descompacta-se o .tar.gz que foi baixado e, em seguida, instala-se todos os pacotes .deb contidos nele simultaneamente. Para isso, abra o seu Terminal, dirija-se até a pasta em que se encontra o arquivo .tar.gz do Code::Blocks (que será referenciado por codeBlocksFile neste tutorial) e siga os procedimentos abaixo:
tar xvf codeBlocksFile.tar.gz -C tmp/
sudo dpkg -i *.deb
rm -R tmp/
Pronto, o seu Code::Blocks estará devidamente instalado e poderá ser acessado através do menu Aplicações, submenu Programação. Acesse-o.
Para criar um novo projeto Irrlicht, clique em File, New Project e, finalmente, Empty Project. Na última tela do assistente, escolha marque apenas a opção Release. O wizard do Irrlicht para o Code::Blocks 8.02 está bugado, daí o porque de precisarmos criar um projeto vazio para que configuremos manualmente.
Depois de criado, clique com o botão direito sobre o nome do seu projeto e, em seguida, em Build options. Na aba Search directories, sub-aba Compiler, adicione:
Na sub-aba Linker, adicione:
/usr/Xl1R6/lib$(LIBSELECT)
Depois, deve-se adicionar a biblioteca do Irrlicht. Na aba Linker Settings, clique em Add, navegue até o caminho irrlichtPath/lib/Linux/ e escolha o arquivo libIrrlicht.a.
Adicione, também, uma por uma, as seguintes bibliotecas (clique em Add e, em seguida, digite o nome da biblioteca):
GLU
Xxf86vm
Xext
Xl1
Para finalizar, crie um novo arquivo main.cpp no seu projeto e copie e cole o código de exemplo abaixo (atentando em modificar o irrlichtPath onde necessário):
using namespace irr;
using namespace core;
using namespace scene;
using namespace video;
using namespace io;
using namespace gui;
int main()
{
IrrlichtDevice *device = createDevice( video::EDT_SOFTWARE, dimension2d<s32>(640, 480), 16, false, false, false, 0);
device->setWindowCaption(L"Hello World!");
IVideoDriver* driver = device->getVideoDriver();
ISceneManager* smgr = device->getSceneManager();
IGUIEnvironment* guienv = device->getGUIEnvironment();
guienv->addStaticText(L"Hello World!", rect<s32>(10,10,260,22), true);
IAnimatedMesh* mesh = smgr->getMesh("irrlichtPath/media/sydney.md2");
IAnimatedMeshSceneNode* node = smgr->addAnimatedMeshSceneNode( mesh );
if (node)
{
node->setMaterialFlag(EMF_LIGHTING, false);
node->setMD2Animation ( scene::EMAT_STAND );
node->setMaterialTexture( 0, driver->getTexture("irrlichtPath/media/sydney.bmp") );
}
smgr->addCameraSceneNode(0, vector3df(0,30,-40), vector3df(0,5,0));
while(device->run())
{
driver->beginScene(true, true, SColor(255,100,101,140));
smgr->drawAll();
guienv->drawAll();
driver->endScene();
}
device->drop();
return 0;
}
Compile e rode o seu código para ver que, finalmente, acabou! Seu ambiente de desenvolvimento está devidamente configurado!
Obs: para evitar que apareça a tela de console ao rodar o seu projeto, clique com botão direito sobre o nome do projeto, depois em Properties, aba Build Targets e, no campo Type, escolha GUI Application.
dezembro 27th, 2008 - 21:24
Bom tutorial, mais tenho umas duvidas. será que o processo de instalação do code::blocks do UBUNTU 8.10 pode ser subistituida por um simples Adicionar/remover?
dezembro 27th, 2008 - 21:31
Ahh, uma coisa, no passo 3 do tutorial, o pacote seria glutg3-dev no lugar de “glutg3-devl”? se eu estiver enganado, favor desconsidere.
janeiro 8th, 2009 - 06:42
Olá,
Você está correto. O nome do pacote é glutg3-dev, obrigado por notificar. Quanto ao simples Adicionar/remover, sim, é possível, se você utilizar um gerenciador de pacotes (apt-get ou o próprio yum). Mais informações neste link: http://www.sci.brooklyn.cuny.edu/~goetz/codeblocks/
maio 11th, 2009 - 23:26
amigo, vc tem as imagens?
por que sem elas não conseigo segir o tutorial.
se tiver poderia me mandar via email?.
julho 21st, 2009 - 12:18
Ola, otimo tutorial, muito util. porem aqui nao esta mais aparecendo os comandos (a um tempo atras quando eu havia acessado aparecia tudo), da uma olhada ae. abrass
julho 21st, 2009 - 12:41
Opa amigo,
Resolvido. Obrigado por notificar.
Abraço
julho 31st, 2009 - 07:15
Não tenho imagens colega. Qualquer dúvida você pode entrar em contato por e-mail. Abraço
dezembro 13th, 2010 - 20:09
Capo:
Muy bueno todo, pero me lanza dos errores en tiempo de compilacion.
Hasta ahora no encuentro una sola herramienta que haya podido instalar en Linux para desarrollar juegos. Ni una sola!!!!!!!!!!!!!!
Ni el Ogre, ni Irrlicht, ni nada…