Configurando Irrlicht e CodeBlocks no Ubuntu
Twitter It!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