Sign in Join
Wiki copytemporary

GLscene (other translation)/pt: what changed

Revision 2 to 3. Removed lines have a minus sign; added lines have a plus sign.

OldNewLine
11Tudo o que você sempre quis saber para fazer seu jogo 3D no Delphi e não tinha a quem pedir ajuda.
22
33Tão fácil quanto mudar de canal na televisão, rebobinar fita de vídeo ou retirar o cd do player: você aperta uns botõezinhos e crau... Seu jogo 3D já está quase pronto. Não acredita?
44
55Faça o seguinte: clique aqui (http://www.tilt.net/e-book/glscene/demo.zip) , baixe o demo.zip, descompacte-o em um diretório qualquer e rode o arquivo Project1.exe. Brinque à vontade, voando pelo belo planeta gelado Bongo. As teclas W, A, S e D servem pra isso mesmo. Clique em qualquer lugar e ative o mouse como controle de direção da câmera (F1 e F2 chaveiam o modo wire frame).
66
77Gostou não é mesmo? Bole um enredo e já tem quase um jogo pronto. Quer ver como fazer esse cenário do Delphi + GLScene? Olha só:
88
99//carregar height map bitmapHDS.Picture.LoadFromFile('terrain.bmp');
1010
1111//carregar a textura do terreno terrain.material.Texture.image.LoadFromFile('snow.jpg'); terrain.material.Texture.Disabled:= false;
1212
1313//adicionar estrelas skydome.Stars.AddRandomStars(4000, clWhite);
1414
1515//e modificar opções skydome.ExtendedOptions:= \[esoFadeStarsWithSun,
1616
17-`                                 esoRotateOnTwelveHours];`
17+```text
18+ esoRotateOnTwelveHours];
19+```
1820
1921Então? É ou não é simples? Tudo o que você precisa saber, para fazer um jogo 3D, usando o Delphi e a GLScene (uma das melhores e mais potentes engines 3D do momento) está aqui mesmo, em nosso e-Book GLScene passo-a-passo.
2022
2123O que é CVS
2224
2325Antes sequer de instalar a GLScene, a primeira tarefa para qualquer futuro desenvolvedor é ser capaz de obtê-la do CVS. CVS significa Concurrent Versions System, um sistema utilizado para desenvolvimento de software em grupos. Basicamente, o CVS é o repositório de todo o código da GLScene, sendo atualizado automaticamente sempre que alguma modificação é feita por algum desenvolvedor autorizado.
2426
2527Embora o código obtido do CVS seja (em geral) considerado como "em desenvolvimento" (e não muito recomendado para publicação), o lançamento de versões estáveis é raro dentro da comunidade de desenvolvedores e qualquer bug encontrado é rapidamente corrigido e publicado no repositório. Além disso, esse sistema permite que uma aplicação utilize código modificado, e qualquer alteração no código principal da GLScene pode ser importado (no jargão do CVS, unido ou "merged") com o código modificado, facilitando o aproveitamento de correções e adição de funcionalidades.
2628
2729Obter o código do CVS é um processo relativamente simples. Em primeiro lugar, é preciso instalar um cliente CVS. Existem diversos clientes Windows espalhados pela internet, porém o mais simples é o TortoiseCVS (http://www.tortoisecvs.org) que se integra diretamente ao Windows Explorer e facilita o processo de atualização do código.
2830
2931Após instalado, as principais opções do Tortoise podem ser acessadas através de um clique no botão direito do mouse em cima de qualquer diretório. Em primeiro lugar deve ser selecionada a opção "Obter Módulo" (CVS CheckOut).
3032
3133Nessa operação é preciso especificar o diretório do repositório CVS (CVSROOT, que deve ser ":pserver:anonymous@cvs.sourceforge.net:/cvsroot/glscene") e o módulo que se deseja retirar. O CVS Checkout realiza o download completo da versão mais atual do código do repositório e o traz para um subdiretório da pasta onde essa operação foi executada.
3234
3335Para conhecer os módulos que a GLScene contém, pode-se visitar a interface web do CVS no endereço (http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/glscene/). Os principais módulos são:
3436
35-`   Source (que contém o código fonte);`
37+```text
38+ Source (que contém o código fonte);
39+```
3640
37-`   DelphiX (onde X é a versão, contém os pacotes para instalação em cada versão do Delphi);`
41+```text
42+ DelphiX (onde X é a versão, contém os pacotes para instalação em cada versão do Delphi);
43+```
3844
39-`   Demos (o maior módulo, contém vários exemplos do uso de código da GLScene) e`
45+```text
46+ Demos (o maior módulo, contém vários exemplos do uso de código da GLScene) e
47+```
4048
41-`   AdvDemos (demos avançados, que mostram a integração de diversas características).`
49+```text
50+ AdvDemos (demos avançados, que mostram a integração de diversas características).
51+```
4252
4353Para cada um desses módulos é preciso executar um checkout, especificando seu nome na área "Módulo" (tomando cuidado com letras maiúsculas e minúsculas, já que o CVS é case-sensitive) e o CVSROOT (mostrado acima).
4454
4555De acordo com o tamanho do módulo, o download dos arquivos será mais ou menos rápido. Porém, a retirada completa é feita apenas uma vez, já que durante as atualizações obtém-se apenas as diferenças entre arquivos e não os arquivos completos.
4656
4757Futuramente, quando necessário ou desejado, uma atualização do código pode ser feita simplesmente clicando-se com o botão direito do mouse no subdiretório que representa o módulo que se deseja atualizar (por exemplo, no subdiretório "Source") e escolhendo a opção "CVS Atualizar" (CVS Update). Arquivos que foram atualizados no repositório serão atualizados localmente, estando prontos para uso.
4858
4959Um aspecto do serviços de CVS que deve ser levado em consideração é que quando uma alteração é feita ("commited") por um desenvolvedor autorizado, leva algumas horas para que ela esteja disponível para o público em geral. Portanto, sempre espere um dia ou dois para atualizar o código-fonte quando uma nova funcionalidade for anunciada. \` Para a maioria dos usuários, as operações de checkout e update (retirada e atualização) são as únicas utilizadas. As opções CVS Editar, CVS Gravar e CVS Adicionar Conteúdo só produzem resultados quando a pessoa realizando a gravação tem permissão para alterar o código fonte no repositório.
5060
5161Qualquer pessoa pode se tornar um desenvolvedor autorizado a inserir mudanças no código da GLScene. Para isso, basta demonstrar sua capacidade criando novas funções e postando as modificações no newsgroup. As pessoas que contribuem frequentemente são chamadas para integrar o time de desenvolvedores oficiais.
5262
5363Programando com CVS
5464
5565O download do código à partir do CVS pode parecer como um passo supérfluo e sem propósito para a maioria das pessoas que desejam simplesmente usar o código obtido para pequenos projetos. No entanto, ele se torna uma ferramenta valiosa conforme a programação de uma aplicação progride.
5666
5767Não é raro descobrir que uma funcionalidade específica ou a correção de um bug (que muitas vezes é significativa apenas para um desenvolvedor) requer a alteração do código fonte da GLScene. Isso gera uma cópia local do código que é diferente daquela presente no repositório. No entanto, novas funcionalidades são adicionadas com certa freqüência, o que provoca a necessidade de constantes atualizações no código local.
5868
5969É nesse ponto que surge a real utilidade do CVS: o cliente CVS é capaz de detectar as mudanças entre os arquivos e aplicar as modificações de um (por exemplo, do repositório) em outro (a cópia local), fazendo com que os arquivos fiquem compatíveis.
6070
6171Problemas surgem apenas se a mesma "área" for modificada nos dois locais. Caso isso aconteça, o cliente CVS pede uma intervenção do usuário para que ele decida quais modificações devem ser aplicadas (através de um programa como o WinMerge - <http://winmerge.sourceforge.net>).
6272
6373Em resumo, trabalhar com um sistema de controle de versões pode ser complicado no início, porém as vantagens se tornam óbvias quando o projeto sendo desenvolvido requer mudanças no código fonte da biblioteca.
6474
6575Instalação
6676
6777Sempre que uma atualização a partir do CVS for feita, é recomendado que a GLScene seja desinstalada e instalada novamente. O processo de instalação é um dos pontos onde mais erros acontecem e deve ser executado com muita atenção.
6878
6979Assumindo que a GLScene não esteja instalada (o processo de remoção é dado abaixo), abra o Delphi e feche o projeto ativo (menu File-\> Close All). Em seguida, adicione os caminhos para os diretórios de código fonte da GLScene ao ambiente do Delphi (é preciso adicionar todos os subdiretórios do diretório "source" em Tools-\> Environment Options-\> Library-\> Library Path).
7080
7181Em seguida, abra o pacote da GLScene correspondente a versão do Delphi onde ela esteja sendo instalada (glscene5.dpk, glscene6.dpk, glscene7.dpk para as versões 5, 6 e 7 do Delphi, respectivamente). Clique em "Install". Os outros pacotes desse diretório devem ser instalados conforme a necessidade, já que representam conjuntos de componentes separados (alguns deles serão estudados em tutoriais futuros).
7282
7383Pronto! Isso deve ser o suficiente para instalar os diversos componentes. Para testar se a instalação foi bem sucedida, basta rodar um dos demos (como o "bench\volcano").
7484
7585O processo de desinstalação é mais simples. Novamente, feche todos os projetos (File-\> Close All), abra a lista de pacotes registrados (menu Project-\> Options-\> Packages), encontre os pacotes da GLScene e clique em "Remove". Os componentes devem sumir da VCL.
7686
7787Finalmente, abra o Windows Explorer e encontre o diretório onde o Delphi foi instalado. Dentro do subdiretório "Projects\bpl", remova todos os arquivos relacionados a glscene (glscene5.bpl, gls_ode5.bpl, etc). Lembre-se de que uma vez removido o pacote, os projetos que usam a GLScene não poderão ser compilados antes dela ser reinstalada.
7888
7989Durante a compilação/instalação de um pacote, um erro do tipo "File Not Found: xxx.pas" normalmente indica um diretório faltando no Environment Path.
8090
8191Demos GLScene
8292
8393Uma das formas mais eficientes de se aprender o funcionamento de uma biblioteca é criar algo com ela. No entanto, para os iniciantes, a curva de aprendizagem pode ser íngreme. Para resolver esse problema, os desenvolvedores da GLScene fornecem uma grande quantidade de programas de demonstração, mostrando como as diversas características dessa biblioteca são acessadas.
8494
8595Uma observação: como a OpenGL em geral utiliza muitos recursos de hardware, uma (boa) placa 3D é necessária para visualizar os demos de forma adequada. Dependendo da idade da placa, a performance pode ser ruim ou alguns demos podem simplesmente não rodar devido a falta de certos recursos mais modernos.
8696
8797Uma placa do tipo GeForce MX é suficiente para a maioria das aplicações, embora algumas funções mais novas (como pixel shaders) estejam disponíveis apenas em placas a partir da série GeForce FX.
8898
8999Se você ainda não instalou a GLScene mas quer dar uma olhadinha nos demos oficiais e verificar o potencial da engine, siga a lista abaixo que fizemos com os principais exemplos: clique aqui(http://www.tilt.net/e-book/glscene/GLSceneMedia.zip), baixe o pacote zip contendo os arquivos comuns de midia e descompacte-o. Serão criados algumas pastas e em especial uma chamada /demos. Clique no .exe do demo desejado e faça o download dele diretamente para essa pasta. Depois é só executá-lo para ver o efeito.
90100
91101Actor.exe(http://www.tilt.net/e-book/glscene/actor.exe) Demonstra o uso de um ator (personagem);
92102
93103ActorWtoCam.exe(http://www.tilt.net/e-book/glscene/actortwocam.exe) Demonstra o uso de câmera em primeira/terceira pessoa acompanhando um ator se movimentando pelo cenário;
94104
95105Beer.exe(http://www.tilt.net/e-book/glscene/beer.exe) Uso de partículas e Sphere Mapping (mapeamento de ambiente para o efeito do vidro);
96106
97107Boom.exe(http://www.tilt.net/e-book/glscene/boom.exe) Explosão do tipo fogos de artifício;
98108
99109Candles.exe(http://www.tilt.net/e-book/glscene/candles.exe) Influência do vento no efeito que simula fogo;
100110
101111Canvas.exe(http://www.tilt.net/e-book/glscene/canvas.exe) Comparação entre o operações do componente GLCanvas (canvas usando a GLScene) e a GDI padrão do Windows;
102112
103113Clothify.exe(http://www.tilt.net/e-book/glscene/clothify.exe) Colisão de rag-doll ("boneco de pano") entre vários objetos;
104114
105115Cutoutstar.exe(http://www.tilt.net/e-book/glscene/cutoutstar.exe) Teste de criação de objetos através de "extrusion";
106116
107117Furball.exe(http://www.tilt.net/e-book/glscene/furball.exe) Uso de Verlet-Hair com a engine de física ODE para criar pêlos;
108118
109119Hfpick.exe(http://www.tilt.net/e-book/glscene/hfpick.exe) Detecção de click em um heigh-map;
110120
111121Mirror.exe(http://www.tilt.net/e-book/glscene/mirror.exe) Uso de um plano que simula um espelho;
112122
113123Pong.exe(http://www.tilt.net/e-book/glscene/pong.exe) Um jogo de pong;
114124
115125Shadowplane.exe(http://www.tilt.net/e-book/glscene/shadowplane.exe) Sombra de objetos em um plano;
116126
117127Simple.exe(http://www.tilt.net/e-book/glscene/simple.exe) Uso da biblioteca física ODE com objetos padrões da GLScene;
118128
119129Tobitmap.exe(http://www.tilt.net/e-book/glscene/tobitmap.exe) Renderização para um bitmap de tamanho variável;
120130
121131Transparency.exe(http://www.tilt.net/e-book/glscene/transparency.exe) Teste de transparência de acordo com a ordem de renderização dos objetos;
122132
123133Volcano.exe(http://www.tilt.net/e-book/glscene/volcano.exe) Benchmark e teste de partículas;
124134
125135Waterplane.exe(http://www.tilt.net/e-book/glscene/waterplane.exe) Objeto que simula um plano de água (dá pra interagir com a água e formar ondas).
126136
127137Pedindo ajuda
128138
129139A comunidade da GLScene está baseada em torno dos newsgroups (grupos de discussão) que podem ser encontrados em:
130140
131-`   `[`news://forums.talkto.net/glscene.general`](news://forums.talkto.net/glscene.general)\
132-`   `[`news://forums.talkto.net/glscene.support`](news://forums.talkto.net/glscene.support)
141+```text
142+ news://forums.talkto.net/glscene.general
143+ news://forums.talkto.net/glscene.support
144+```
133145
134146Para acessá-los, é necessário um cliente de news como o Outlook Express da Microsoft ou o Mozilla Thunderbird. Esse é o fórum oficial para dúvidas, sugestões ou comentários, embora a língua oficial seja o inglês.
135147
136148Para os brasileiros, a lista de discussão da TILT é o local mais indicado. Para assinar a lista basta enviar um e-mail para:
137149
138-`   tilt-subscribe@yahoogrupos.com.br`
150+```text
151+ tilt-subscribe@yahoogrupos.com.br
152+```
139153
140154A participação na lista é gratuita.
141155
142156Os assinantes do club TILT tem acesso ao atendimento vip, ou seja, podem encaminhar as suas dúvidas diretamente à nossa equipe, coordenada pelo Matheus, no seguinte e-mail: matheus@tilt.net ou clicar no link Tira Dúvida no final de cada página. Faremos todo o possível para esclarecer a questão, desde que referente ao assunto tratado no e-Book.
143157
144158Referências
145159
146160Esta seção contém uma série de links para os interessados em conhecer mais sobre a GLScene, programação 3D em geral e como ponto de partida para começar a criação de seu jogo.
147161
148162<http://caperaven.co.za> Contém alguns tutoriais e mais programas de demonstração da GLScene.
149163
150164<http://www.sulaco.co.za> Alguns artigos sobre programação 3D em Delphi.
151165
152166<http://www.delphi3d.net> Também contém artigos sobre programação 3D em Delphi, com ênfase nas mais novas tecnologias lançadas (placa 3D de última geração obrigatória para rodar boa parte dos demos).
153167
154168<http://collective.valve-erc.com/index.php?doc=1047496381-02062100> Utilitários para trabalhar com arquivos SMD (usado em animações esqueletais).
155169
156170<http://www.opengl.org> Site oficial da OpenGL
157171
158172<http://www.glscene.org> Site oficial da GLScene
159173
160174<http://glscenehelp.sourceforge.net> Wiki com informações sobre a GLScene.
161175
162176<http://www.six4one.com> Página com resources (modelos, texturas, etc) que podem ser usados com a GLScene.
163177
164178<http://sourceforge.net/projects/glscene> Sumário do projeto GLScene no site sourceforge.
165179
166180<http://www.3dcafe.com> Modelos 3ds freeware.
167181
168182<http://www.planetquake.com/polycount> Milhares de modelos MD2, MD3 e SMD para download.
169183
170184---
171185*From the Free Pascal wiki, page "GLscene (other translation)/pt", as it stood on 2015-06-19 after a change by FTurtle, out of the wiki's dump of 2024-05-26. Copyright stays with the author who wrote it, according to the old wiki's [[Licensing]] page. If you have concerns about this material, [message the admin](/wiki-contact).*
172186Category: Components/pt
173187Category: Game Development/pt
174188Category: Graphics/pt
175189Category: Multimedia/pt
176190Category: Português

Back to history