Introdução à glScene
Conheça uma das mais poderosas e versáteis engines 3D

Um dos mitos mais difundidos entre os não usuários do Delphi é a de que este ambiente de desenvolvimento não seria capaz de suportar a criação de jogos de "alto nível" (ou seja, jogos 3d em primeira pessoa).

Embora seja verdade que exista apenas uma pequena fração de bibliotecas para Delphi, quando comparamos com outras linguagens, as que existem são de alta qualidade edignas de uso em qualquer jogo moderno.

Uma das bibliotecas mais populares é a glScene: um conjunto de componentes criados ao redor da API OpenGL com o objetivo de facilitar o desenvolvimento de aplicações 3d em Delphi, sejam elas científicas, comerciais ou jogos.

O que é a glScene:

Ela é uma coleção de componentes, classes e funções criadas por diversas pessoas ao redor do mundo em regime de código aberto. Isso significa que existe uma grande variedade de características, depdendo do interesse que cada pessoa têm no avanço da biblioteca.

Existem, desde funções para operações básicas em três dimensões até classes para carregamento de modelos 3d (inclusive direto do pacote 3d Studio MAX por meio de arquivos com extensão 3ds), gerenciamento de partículas, som, física e muito, muito mais.

O que a glScene não é:

Um criador de jogos. Por ser genérica, um jogo desnvolvido nela pode ser relativamente mais complexo do que um criado em um pacote específico para este fim.

Além disso, deve-se levar em conta que este é um projeto open-source. Por esse motivo, nenhuma pessoa em especial está atrelada de qualquer forma ao seu desenvolvimento. Isso tem como consequência o fato de alguns componentes tornam-se obsoletos, por seu autor abandonar o projeto.

Versões e instalação:

A versão para download mais recente no site oficial da glScene é a versão 0.9b. No entanto, essa versão já está desatualizada, não contando com várias melhorias e correções que provavelmente já estão disponíveis.

Por ser um projeto muito movimentado, as atualizações podem chegar a ser diárias. O controle é feito por um servidor de CVS ou Current Versioning System (Sistema de Versão Corrente). O servidor CVS contém todos os arquivos da glScene e pode atualizar direto alguma pasta do seu HD, "sincronizando" os dados entre uma cópia local e a cópia atual.

Para os desavisados, porém, o sistema de CVS pode ser incômodo para configurar e utilizar. Por esse motivo, a TILT estará disponibilizando para os assinantes do club TILT "snapshots" (ou instantâneos) do conteúdo do sistema de CVS.

Com a versão mais nova disponível, instalar é simples. Adicione todas os diretórios da glScene à variável de ambiente "Library Path" (menu "Tools" -> "Enviroment Options" -> "Library" -> "Library Path"). Em seguida, abra a versão do pacote correspondente à versão do Delphi usada (5, 6, ou 7) e instale. Uma nova página de componentes deve ter sido criada na VCL contendo os elementos principais da glScene.

Componentes:

Entre os componentes criados pela instalação da glScene, vale destacar os mais usados:

TGLScene: Uma cena 3d. Contém os objetos como câmeras, cubos, modelos, etc. A hierarquia de componentes pode ser editada em tempo de design clicando-se duas vezes sobre esse componente (dentro do formulário).

TGLSceneViewer: O visualizador das cenas, pode ser colocado dentro de um panel, notebook ou até mesmo diretamente no formulário. Liga-se a cena através da propriedade "Camera" que deve ser ligada a uma câmera que esteja dentro da hierarquia de objetos.

TGLCadencer: "Marca-passo" da glScene, controla os avanços de tempo. Liga-se à uma cena através da propriedade "Scene".

Uma típica aplicação glScene envolve esses três componentes interligados (ou seja, uma câmera da cena na propriedade "Camera" do viewer e a cena na propriedade "Scene" do cadencer), junto com quaisquer outros objetos dentro da hierarquia da cena.

Conclusão:

A glScene é uma ferramenta poderosa e flexível para o desenvolvimento de aplicações 3d em ambiente Delphi. Porém, a maior dificuldade encontrada nela, para os criadores de jogos, é justamente a falta de especificidade ao projetar uma aplicação desse tipo.

Além dos snapshots, a TILT estará disponibilizando artigos e exemplos sobre como construir jogos utilizando a glScene e algumas modificações incluídas por nós (afinal de contas, ela têm código aberto por esse motivo). Além disso, os conceitos ilustrados nos artigos sobre modelagem 3d podem (e devem) ser usados para "criar o clima" do jogo.

Enquanto isso, dê uma olhada nos demos (também inclusos no snapshot) e veja porque escolhemos a glScene como biblioteca para os nossos jogos.


Links:

http://www.glscene.org (Site oficial)
http://www.glscene.com (Portal GLScene com foruns e projetos)
news://forums.talkto.net/glscene.general (grupo de notícias sobre assuntos gerais relacionados à glScene)

xingu: edventure 3D em desenvolvimento (na TILT), usando glScene
adventures 3D
: e-Book que ensina como criar um adventure usando delphi e glScene


No club TILT tem mais...
Quer saber mais sobre esse assunto, conhecer mais técnicas, ver fontes e programação? Siga os links para o club TILT. Se ainda não é assinante, clique aqui e saiba como assinar.

glSceneSnap.zip pacote zip com a versão mais recente da engine
 
online