Sign in Join
Wiki copytemporary

GLScene/pt: what changed

Revision 0 to 1. Removed lines have a minus sign; added lines have a plus sign.

Title: GLScene/pt

OldNewLine
1+### Sobre
2+
3+GLScene é uma biblioteca 3D baseada em OpenGL. Foi escrita inicialmente para Delphi, agora está rodando em C++ Builder, Kylix, Delphi e Lazarus.
4+
5+Suas características principais são:
6+
7+Descrição do Cenário (Scene)
8+
9+- Estrutura de objetos hierárquica, com tantos objetos quanto a memória permitir, facilmente expansível.
10+- Interatividade com o gerenciamento da cena (vários peritos em Delphi).
11+- Fácil de usar as funções de rotação e movimentação para cada objeto.
12+- Objetos pré-definidos (todos os padrões do cubo para a chaleira, depois para sprite), facilmente expansível.
13+- Objetos estruturados (cubo falso (dummy cube), objeto representante (proxy object)) para gerenciar objetos compostos.
14+- Objetos processuais (altitude raio de visão (heightfield), sólidos de revolução, tubos (pipes), tesselators...).
15+- Suporte completamente integrado a objetos 2D e 1D (suporte a sprites, linhas e spline).
16+- Objetos HUD (sprites renderizados em coordenadas 2D)
17+- Objetos Utilitários (Utility) (grades (grids), céu em formato de cúpula (skydome), setas (arrows)...).
18+- Suporta classes para acessar o diretamente OpenGL
19+- Objetos do tipo câmera e luz podem ser usados em qualquer lugar em uma hierarquia de objetos do cenário.
20+- Objetos de comportamento podem ser anexados a objetos com o propósito de animação, facilmente expansível.
21+- Efeitos especiais por objeto (aplicar a renderização antes/depois aos objetos e efeitos secundários ao cenário), facilmente expansível.
22+- Suporte para sistemas de partículas, qualquer objeto ou objeto estruturado pode ser uma partícula.
23+- Importação de arquivos do 3D Studio e coordenadas das texturas com cálculo automático e preciso dos vetores normais (usando os determinados grupos suavizadores do arquivo).
24+- Outros formatos importados: OBJ/OBJF, SMD, MD2, STL, TIN, PLY.
25+
26+Materiais
27+
28+- Fácil de usar, otimizado, materiais para objetos.
29+- Biblioteca de material para compartilhar e re-utilização de materiais.
30+- Suporte a ambientes, difusão, emissão, reflexo e brilho.
31+- Suporte a modos combinatórios (transparência, aditivo...)
32+- Autogeração de canal alfa.
33+- Suporte a formato de textura OpenGL, incluindo formatos comprimidos (DXT, S3TC etc.)
34+- Suporte a plug-in shaders genérico
35+- Suporte a classes de alto-nível de shaders Cg.
36+- Suporte a imagem polimorfica para texturização (permite muitos formatos como também texturas processuais), facilmente expansível.
37+- Mais de 150 cores pré-definidas como clrCornflowerBlue ou clrCoolCopper (facilmente expansíveis) além de cores padrão e especificações diretas do padrão RGBA
38+- Fácil de usar as propriedades de movimentação de textura e de escalabilidade, independentemente das coordenadas de textura.
39+- Suportam classes de Bitmap de 32 bits
40+
41+Renderização
42+
43+- Usa automaticamente o driver do hardware OpenGL se disponível.
44+- Um bom funcionamento do modelo de câmera usando comprimento focal e a mira.
45+- Múltiplas visões para uma ou mais cenas, fácil mudança de visão por seleção de câmera.
46+- Suporte a névoa e a visão de profundidade.
47+- Renderiza para um arquivo, para um bitmap ou para a impressora em qualquer resolução de cor e pixel.
48+- Suporta a tela cheia com mudanças dinâmicas de resolução.
49+- Reflexões e efeitos de espelho.
50+- Fundição de sombras dinamicamente.
51+- Suporte a sistema de alta-performance de partículas transparentes em cenários largos.
52+- Seleção automática (por hierarquia ou por objeto) de frustrum.
53+
54+Animação
55+
56+- Propagação de eventos de progressão de tempo.
57+- Animação de esqueleto (múltiplos ossos (bones) por vértice).
58+- Interpolação de quadro (frame) e mudança de alvos (morph targets).
59+- Comportamentos facilmente expansíveis.
60+- Física dinâmica: inércia, aceleração, umidade e força de aplicação.
61+- Iluminação automática e em tempo real da cena.
62+
63+Interface
64+
65+- Funções fácil-de-usar para determinar os objetos escolhidos.
66+- Funções de ajuda para movimentação da câmera.
67+- Funções de ajuda para a tradução do objeto escolhido.
68+- Funções de ajuda para conversão entre telas e coordenadas globais, trajetória de raios (raycasting)
69+
70+Som
71+
72+- Suporte embutido para fontes som 3D e para o ouvinte.
73+- Atualização automática da posição, da velocidade e da orientação das fontes de som e do ouvinte.
74+- Amostras de som da biblioteca do componente.
75+- Gerenciadores de sons para WaveOut, BASS e FMOD.
76+
77+Utilitários
78+
79+- Aperfeiçoamento de funções de geométricas e utilitários (vetor, quaternion e matriz...).
80+- Suporte a funções e classes spline cúbica.
81+- Engrenaram a manipulação e a otimização (stripification, vertex-cache awareness, etc.).
82+- Componente para fazer o salvar-tela (screen-saver) totalmente configurável em alguns cliques.
83+- Determinação precisa da velocidade do quadro (frame).
84+- Cronômetro assíncrono (multi-threaded).
85+- Suporte a joystick.
86+- Acesso assíncrono ao teclado, suporte ao mapa de caracteres.
87+
88+Bibliotecas de terceiros
89+
90+- Suporte para biblioteca de física de ODE.
91+- Suporte para Delphi Web Script (DWS).
92+- Suporte para Camadas Diretas de Mídia Simples (Simple Direct Media Layer - SDL).
93+- Suporte ao conjunto de ferramentas da biblioteca CG NVidea shader.
94+
95+Observações: O Delphi 5 tem suporte basicamente a BMP, WMF, EMF, ICO e JPG , você pode acrescentar suporte para GIF, TIF, TGA, PSD e muitos mais incluindo a biblioteca GraphicEx de Mike Lischke
96+
97+### Capturas de tela
98+
99+![](/wiki-images/5/5c/Gl_effect.jpg) ![](/wiki-images/f/f5/Gl_cel.jpg) ![](/wiki-images/5/50/Gl_trinity.jpg)\
100+![](/wiki-images/4/49/Gl_ode.jpg)
101+
102+### Autor
103+
104+Autor: inicialmente por Mike Lischke\
105+E há tempos sendo mantido por Eric Grange\
106+Portal LCL: Christian Ulrich
107+
108+### Baixar
109+
110+#### Ultima versão (v1.0.0.2)
111+
112+- Uma nova versão pode ser encontrado em [Pagina de Arquivos Lazarus CCR](http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641).
113+
114+Isto deveria ser quase idêntico ao repositório cvs original de hoje em termos de funcionalidade e de problemas-corrigidos, porém, ainda existem algumas partes faltando. Lá não haverá um "Lazarus-com-instalador-GLScene" com esta nova versão, a menos que outra pessoa o crie. --Crossbuilder 20:16, 18 Julho 2007 (CEST)
115+
116+#### Desatualizado
117+
118+Uma versão mais antiga(version 0.9.1.6) pode ser encontrada em [Pagina de Arquivos Lazarus CCR](http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=98986&release_id=364007) junto com um instalador do lazarus com GLScene já na IDE Lazarus e nas demonstrações da GLScene. ATUALIZAÇÃO: Esta versão está bem desatualizada agora. Se possível, faça a verificação com o svn (veja abaixo).
119+
120+### SVN
121+
122+você pode verificar a versão do código-fonte atual do\
123+<http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/>\
124+O comando seria:\
125+
126+ svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene
127+
128+Isto baixará do repositório da pasta (principal) para o diretório "glscene" de onde você deu o comando.
129+
130+No windows você pode usar os clientes como tortoise SVN e outros.
131+
132+### Relatório de Erros
133+
134+[Relatório de Erros/Exibir pedido](http://www.freepascal.org/mantis/) Por favor selecione em Project "Packages" e em Category "glscene" para seus relatórios. Obrigado.
135+
136+### Registro das Mudanças
137+
138+- 18.07.2007 liberação da versão Instantênea 1.0.0.2
139+ - algumas coisas ajustadas , para se trabalhar com última versão svn do lazarus
140+ - adcionados objetos bitmaps ao SceneEditor (Editor de Cenário)
141+ - consertado outro AV dentro do SceneEditor
142+ - incorporado todos os remendos (patches) e erros consertados (bugfixes) do repositorio cvs do glscene original como texturas,dinâmicos..
143+- 13.06.2007 liberação da versão Instantênea 1.0.0.1
144+ - incorporado todos os remendos (patches) e erros consertados (bugfixes) do repositorio cvs do glscene original
145+ - editor de cena aprimorado ( menos porradas, mas ainda precisa de algum amor)\
146+ **Sugestão:** Salve seu projeto freqüentemente ;-)
147+ - seperada dependencia de material do mmsystem do suporte de som genérico, por exemplo, FMOD que está disponível em linux, também
148+ - muitos mais ..
149+- 01.12.06 Adicionado suporte ao ODE, gtk2 e Cg shaders em Linux (ODE é limitada a liberação normal de versão, sem suporte a cones, cilindros e terrenos)
150+- 10.08.05 Muitas mudanças para postar aqui veja o histórico cvs
151+- 16.07.05 Porta GLScene 0.9.X
152+- veja a Conta GLScene Sourceforge para o completo Registro das mudanças
153+
154+Status: Beta
155+
156+### Instalação da versão 1.0.0.2
157+
158+**Requer o fpc 2.1.4 ou superior e o lazarus 0.9.23 revisão 11348 ou superior !!**
159+
160+- **extraindo os códigos-fontes**
161+ - ZIP:
162+ - na pasta "lazarus/components/" execute o "unzip glscene-1.0.0.2.zip"\
163+ Isto criará a pasta lazarus/components/glscene/
164+ - SVN:
165+ - na pasta "lazarus/components/" execute o
166+ svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene
167+
168+ Isto criará a pasta lazarus/componets/glscene/
169+ - Tortoise SVN: adicione a pasta "glscene" manualmente então você fica com lazarus/components/glscene. Então clique com o botão direito do mouse sobre a nova pasta e escolha "SVN Checkout...". No campo "URL of repository" adicione
170+ http://svn.freepascal.org/svn/fpcprojects/glscene/trunk
171+
172+ Confirme em "OK".
173+
174+- **Finalizando a instalação:**
175+ - copie de "lazarus/components/glscene/globallinks/*.lpl" para "lazarus/packager/globallinks/"
176+ - inicie o lazarus
177+ - selecione "Configure installed packages ..." do menu "Components"
178+ - selecione "glscenelazarus" da lista "Available packages"
179+ - clique no botão "Install selection"
180+ - clique no botão "Save and rebuild IDE"
181+ - ATENÇÃO: Pode ocorrer um erro em que o pacote "jpegforlazarus" não seja encontrado. Nesse caso faça o seguinte:
182+ - Components --\> Open loaded package...
183+ - Escolha "glscenelazarus" (Versão 1.0.0.3) e clique em "Open..."
184+ - Na lista seguinte abaixe até "Required Packages" e remova dependência de "jpegfromlazarus".
185+ - Procure a unit "jpeg" na pasta /lazarus/components/glscene/Source/base e substitua "LazJPEG" (dentro da cláusula uses) por "LazJPG" (do pacote ImagesForLazarus).
186+ - Salve e repita os últimos 4 passos denovo.
187+ - SUGESTÃO: Você deveria ter instalado o pacote "ImagesForLazarus" (o mesmo caminho descrito para o pacote "glscenelazarus").
188+ - repita os últimos 4 passos para os outros pacotes você queira usar.
189+ - Observação: o glsceneode e o glscenecgshader precisam de suas respectivas bibliotecas durante instalação no sistema!
190+ - **Observação:** você também pode tentar selecionar e instalar todos os pacotes em um 'Avançar'. Porém, eu prefiro fazer as coisas passo a passo, assim eu vejo onde falha, e se ele falha ;)
191+ - **Instalação "glscenelazarus" - erros:** (só precisou ao usar o glscene-1.0.0.2.zip, no svn já estão consertados)
192+ - Para corrigir a unit GLLCLViewer: procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - na procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams);
193+ - Para corrigir a unit GLLCLViewer: procedure TGLSceneViewer.EraseBackground(DC: HDC); - na procedure TGLSceneViewerLCL.EraseBackground(DC: HDC);
194+ - Para corrigir a unit GLLCLFullscreenViewer: Mude "RegisterClasses(\[TGLSceneViewer, TGLFullScreenViewer\]);" para "RegisterClasses(\[TGLFullScreenViewer\]);"
195+
196+- **Lista de pacotes:**
197+ - **glscenelazarus** O pacote principal.
198+ - **glscenecgshader** Componentes Cg Shader
199+ - **glsceneode** Componentes ODE
200+ - **glss_fmodlaz** Componente FMOD
201+ - **gls_winonly** Apenas para Windows, contém suporte ao som do mmsystem, suporte ao BASS e ao componente GLScreenSaver
202+
203+- **Сompilação "demo" - erros:**
204+ - Se não encontrada a class - TGLSceneViewer: Para corrigir o uses (demo): GLLCLViewer - no GLViewer
205+
206+### Instalação da versão 0.9.6.1
207+
208+- Crie o diretório lazarus\components\GLScene
209+- Neste diretório, extraia os arquivos do arquivo zip
210+- Abra o lazarus
211+- Abra o pacote glscenelazarus.lpk com o pacote de arquivo Component/Open (.lpk) do lazarus\components\glscene\Lazarus
212+- (Só é necessário clicar em Compile, se você não quizer instalar o componente dentro da IDE)
213+- Clique em Install
214+- Repita estes passos (abra o .lpk, clique em install) para os outros pacotes você queira usar. Observação: estes pacotes adicionais precisam de bibliotecas adicionais (fmod, ode, Cg).
215+ - glscenecgshader.lpk : Cg shaders (apenas com placas NVidia?)
216+ - glsceneode.lpk : suporte para biblioteca ode
217+ - glsss_fmodlaz.lpk : suporte para biblioteca fmod
218+ - gls_winonly.lpk : isto só pode ser instalado no windows. Contém material screensaver como também suporte para biblioteca BASS.
219+
220+Sugestão: às vezes um Error "GLGraphics not found" ocorre. Não preocupe, apenas faça Tools-\>Build Lazarus novamente e isso deve solucionar.
221+
222+Uma instalação completa do Lazarus com GLScene já está disponível na IDE como [binary win32 release](http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641&release_id=405739) ou [<http://www.skinhat.com/lazarus>](http://www.skinhat.com/lazarus)
223+
224+Apenas uma advertência para (novos) usuários de Linux: A GLScene no seu estado atual não está funcionando o "fora da caixa" (muitas modificações/inclusões são necessárias). ATUALIZAÇÃO: isto não é mais válido. A glscene para lazarus está sempre atualizada e a maioria das coisas funcionam muito bem fora da caixa do windows como também para linux.
225+
226+A partir da última versão da pasta (veja em svn acima) a versão para linux está funcionando bem. Algumas demonstrações (aproximadamente 20%) ainda estão quebradas mas a maioria da glscene está funcionando agora. Nós também estamos migrando para faze-lo funcionar em outras plataformas Unix como o FreeBSD.
227+
228+As partes que estão faltando/não-funcionando em sistemas não-windows são: glKeyboard (use o winapi, mas não é requesito principalmente), glSound (que usa o mm, nós precisamos usar a openal ou algo do tipo)
229+
230+Uma [[Lazarus- Game Developers Edition|instalador para windows completamente transparente]] foi planejada.
231+
232+### Ajuda
233+
234+- Pode ser encontrada em [Pagina Principal do GLScene](http://www.glscene.org)
235+- entre no canal \#glscene em freenode.net
236+
237+---
238+*From the Free Pascal wiki, page "GLScene/pt", as it stood on 2009-06-26 after a change by Swen, 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).*

Back to history