Difference between revisions of "GLScene/pt"

From Lazarus wiki
Jump to navigationJump to search
Line 143: Line 143:
 
Status: Beta
 
Status: Beta
  
=== Installation version 1.0.0.2 ===
+
=== Instalação da versão 1.0.0.2 ===
'''Requires fpc 2.1.4 or greater  and lazarus 0.9.23 rev. 11348 or greater !!'''
+
'''Requer o fpc 2.1.4 ou superior e o lazarus 0.9.23 revisão 11348 ou superior !!'''
  
* '''extracting the sources'''
+
* '''extraindo os códigos-fontes'''
 
** ZIP:
 
** ZIP:
*** in "lazarus/components/" folder execute "unzip glscene-1.0.0.2.zip" <br>This will create the lazarus/components/glscene/ folder
+
*** na pasta "lazarus/components/" execute o "unzip glscene-1.0.0.2.zip" <br>Isto criará a pasta lazarus/components/glscene/
 
** SVN:
 
** SVN:
*** in "lazarus/components/" folder execute <pre>svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene</pre>This will create the lazarus/componets/glscene/ folder
+
*** na pasta "lazarus/components/" execute o <pre>svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene</pre>Isto criará a pasta lazarus/componets/glscene/
***Tortoise SVN: add the folder "glscene" manually so you have lazarus/components/glscene. Then right-click onto new folder and choose "SVN Checkout...". At field "URL of repository" add <pre>http://svn.freepascal.org/svn/fpcprojects/glscene/trunk</pre>Confirm by "OK".
+
***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 <pre>http://svn.freepascal.org/svn/fpcprojects/glscene/trunk</pre>Confirme em "OK".
  
 
   
 
   
  
* '''Finish the installation:'''
+
* '''Finalizando a instalação:'''
** copy "lazarus/components/glscene/globallinks/*.lpl" to "lazarus/packager/globallinks/"
+
** copie de "lazarus/components/glscene/globallinks/*.lpl" para "lazarus/packager/globallinks/"
** start lazarus
+
** inicie o lazarus
** select "Configure installed packages ..." from the "Components" menu
+
** selecione "Configure installed packages ..." do menu "Components"
** select "glscenelazarus" from the "Available packages" list
+
** selecione "glscenelazarus" da lista "Available packages"
** click "Install selection" button
+
** clique no botão "Install selection"
** click "Save and rebuild IDE" button
+
** clique no botão "Save and rebuild IDE"
*** ATTENTION: There may occur an error that package "jpegforlazarus" is not found. If so do the following:
+
*** ATTENÇÃO: Pode ocorrer um erro em que o pacote  "jpegforlazarus" não seja encontrado. Nesse caso faça o seguinte:
 
*** Components --> Open loaded package...
 
*** Components --> Open loaded package...
*** Choose "glscenelazarus" (Version 1.0.0.3) and click "Open..."
+
*** Escolha "glscenelazarus" (Version 1.0.0.3) e clique em "Open..."
*** In the following list go down to "Required Packages" and remove dependency from "jpegfromlazarus".
+
*** Na lista seguinte abaixe até "Required Packages" e remova dependência de "jpegfromlazarus".
*** Look for unit "jpeg" in folder /lazarus/components/glscene/Source/base and replace "LazJPEG" (in uses clause) by "LazJPG" (from package ImagesForLazarus).
+
*** Procure a unit "jpeg" na pasta /lazarus/components/glscene/Source/base e substitua "LazJPEG" (dentro da cláusula uses) por "LazJPG" (do pacote ImagesForLazarus).
*** Save and repeat last 4 steps again.
+
*** Salve e repita os últimos 4 passos denovo.
*** HINT: You should have installed package "ImagesForLazarus" (the same way as described for "glscenelazarus" package).  
+
*** SUGESTÃO: Você deveria ter instalado o pacote "ImagesForLazarus" (o mesmo caminho descrito para o pacote "glscenelazarus").  
** repeat the last 4 steps for the other packages you want to use.
+
** repita os últimos 4 passos para os outros pacotes você queira usar.
 
*** Note: glsceneode and glscenecgshader need their respective libs on the system during installation!
 
*** Note: glsceneode and glscenecgshader need their respective libs on the system during installation!
** '''Note:''' you can also try to select and install all packages in one go. However, I prefer to do things step by step, so I see where it fails, if it fails ;)
+
** '''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 ;)
** '''Install "glscenelazarus" - mistakes:''' (only needed when using glscene-1.0.0.2.zip, in svn these are already fixed)
+
** '''Instalação "glscenelazarus" - erros:''' (só precisou ao usar o glscene-1.0.0.2.zip, no svn já estão consertados)
***To correct the unit GLLCLViewer: procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - at procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams);  
+
***Para corrigir a unit GLLCLViewer: procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - na procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams);  
***To correct the unit GLLCLViewer: procedure TGLSceneViewer.EraseBackground(DC: HDC); - at procedure TGLSceneViewerLCL.EraseBackground(DC: HDC);  
+
***Para corrigir a unit GLLCLViewer: procedure TGLSceneViewer.EraseBackground(DC: HDC); - na procedure TGLSceneViewerLCL.EraseBackground(DC: HDC);  
***To correct the unit GLLCLFullscreenViewer: Change "RegisterClasses([TGLSceneViewer, TGLFullScreenViewer]);" to "RegisterClasses([TGLFullScreenViewer]);"
+
***Para corrigir a unit GLLCLFullscreenViewer: Change "RegisterClasses([TGLSceneViewer, TGLFullScreenViewer]);" para "RegisterClasses([TGLFullScreenViewer]);"
  
* '''List of packages:'''
+
* '''Lista de pacotes:'''
** '''glscenelazarus'''    The main package.
+
** '''glscenelazarus'''    O pacote principal.
** '''glscenecgshader'''    Cg Shader components
+
** '''glscenecgshader'''    Componentes Cg Shader
** '''glsceneode'''        ODE components
+
** '''glsceneode'''        Componentes ODE
** '''glss_fmodlaz'''      FMOD component
+
** '''glss_fmodlaz'''      Component FMOD
** '''gls_winonly'''        Windows only, contains sound support over mmsystem, BASS support and GLScreenSaver component
+
** '''gls_winonly'''        Apenas para Windows, contém suporte ao som do mmsystem, suporte ao BASS e ao componente GLScreenSaver
  
* '''Сompilation "demo" - mistakes:'''
+
* '''Сompilação "demo" - erros:'''
**If not found class - TGLSceneViewer: To correct the uses (demo): GLLCLViewer - at GLViewer
+
**Se não encontrada a class - TGLSceneViewer: Para corrigir o uses (demo): GLLCLViewer - no GLViewer
  
 
=== Installation version 0.9.6.1 ===
 
=== Installation version 0.9.6.1 ===

Revision as of 21:29, 7 April 2008

Deutsch (de) English (en) français (fr) Bahasa Indonesia (id) 日本語 (ja) 한국어 (ko) português (pt) русский (ru) 中文(中国大陆)‎ (zh_CN)

Sobre

GLScene é uma biblioteca 3D baseada em OpenGL. Foi escrita inicialmente para Delphi, agora está rodando em C++ Builder, Kylix, Delphi e Lazarus.

Suas características principais são:

Descrição do Cenário (Scene)

  • Estrutura de objetos hierárquica, com tantos objetos quanto a memória permitir, facilmente expansível.
  • Interatividade com o gerenciamento da cena (vários peritos em Delphi).
  • Fácil de usar as funções de rotação e movimentação para cada objeto.
  • Objetos pré-definidos (todos os padrões do cubo para a chaleira, depois para sprite), facilmente expansível.
  • Objetos estruturados (cubo falso (dummy cube), objeto representante (proxy object)) para gerenciar objetos compostos.
  • Objetos processuais (altitude raio de visão (heightfield), sólidos de revolução, tubos (pipes), tesselators...).
  • Suporte completamente integrado a objetos 2D e 1D (suporte a sprites, linhas e spline).
  • Objetos HUD (sprites renderizados em coordenadas 2D)
  • Objetos Utilitários (Utility) (grades (grids), céu em formato de cúpula (skydome), setas (arrows)...).
  • Suporta classes para acessar o diretamente OpenGL
  • Objetos do tipo câmera e luz podem ser usados em qualquer lugar em uma hierarquia de objetos do cenário.
  • Objetos de comportamento podem ser anexados a objetos com o propósito de animação, facilmente expansível.
  • Efeitos especiais por objeto (aplicar a renderização antes/depois aos objetos e efeitos secundários ao cenário), facilmente expansível.
  • Suporte para sistemas de partículas, qualquer objeto ou objeto estruturado pode ser uma partícula.
  • 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).
  • Outros formatos importados: OBJ/OBJF, SMD, MD2, STL, TIN, PLY.

Materiais

  • Fácil de usar, otimizado, materiais para objetos.
  • Biblioteca de material para compartilhar e re-utilização de materiais.
  • Suporte a ambientes, difusão, emissão, reflexo e brilho.
  • Suporte a modos combinatórios (transparência, aditivo...)
  • Autogeração de canal alfa.
  • Suporte a formato de textura OpenGL, incluindo formatos comprimidos (DXT, S3TC etc.)
  • Suporte a plug-in shaders genérico
  • Suporte a classes de alto-nível de shaders Cg.
  • Suporte a imagem polimorfica para texturização (permite muitos formatos como também texturas processuais), facilmente expansível.
  • 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
  • Fácil de usar as propriedades de movimentação de textura e de escalabilidade, independentemente das coordenadas de textura.
  • Suportam classes de Bitmap de 32 bits

Renderização

  • Usa automaticamente o driver do hardware OpenGL se disponível.
  • Um bom funcionamento do modelo de câmera usando comprimento focal e a mira.
  • Múltiplas visões para uma ou mais cenas, fácil mudança de visão por seleção de câmera.
  • Suporte a névoa e a visão de profundidade.
  • Renderiza para um arquivo, para um bitmap ou para a impressora em qualquer resolução de cor e pixel.
  • Suporta a tela cheia com mudanças dinâmicas de resolução.
  • Reflexões e efeitos de espelho.
  • Fundição de sombras dinamicamente.
  • Suporte a sistema de alta-performance de partículas transparentes em cenários largos.
  • Seleção automática (por hierarquia ou por objeto) de frustrum.

Animação

  • Propagação de eventos de progressão de tempo.
  • Animação de esqueleto (múltiplos ossos (bones) por vértice).
  • Interpolação de quadro (frame) e mudança de alvos (morph targets).
  • Comportamentos facilmente expansíveis.
  • Física dinâmica: inércia, aceleração, umidade e força de aplicação.
  • Iluminação automática e em tempo real da cena.

Interface

  • Funções fácil-de-usar para determinar os objetos escolhidos.
  • Funções de ajuda para movimentação da câmera.
  • Funções de ajuda para a tradução do objeto escolhido.
  • Funções de ajuda para conversão entre telas e coordenadas globais, trajetória de raios (raycasting)

Som

  • Suporte embutido para fontes som 3D e para o ouvinte.
  • Atualização automática da posição, da velocidade e da orientação das fontes de som e do ouvinte.
  • Amostras de som da biblioteca do componente.
  • Gerenciadores de sons para WaveOut, BASS e FMOD.

Utilitários

  • Aperfeiçoamento de funções de geométricas e utilitários (vetor, quaternion e matriz...).
  • Suporte a funções e classes spline cúbica.
  • Engrenaram a manipulação e a otimização (stripification, vertex-cache awareness, etc.).
  • Componente para fazer o salvar-tela (screen-saver) totalmente configurável em alguns cliques.
  • Determinação precisa da velocidade do quadro (frame).
  • Cronômetro assíncrono (multi-threaded).
  • Suporte a joystick.
  • Acesso assíncrono ao teclado, suporte ao mapa de caracteres.

Bibliotecas de terceiros

  • Suporte para biblioteca de física de ODE.
  • Suporte para Delphi Web Script (DWS).
  • Suporte para Camadas Diretas de Mídia Simples (Simple Direct Media Layer - SDL).
  • Suporte ao conjunto de ferramentas da biblioteca CG NVidea shader.

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

Capturas de tela

Gl effect.jpg Gl cel.jpg Gl trinity.jpg
Gl ode.jpg

Autor

Autor: inicialmente por Mike Lischke
E há tempos sendo mantido por Eric Grange
LCL Port: Christian Ulrich

Baixar

Ultima versão (v1.0.0.2)

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)

Desatualizado

Uma versão mais antiga(version 0.9.1.6) pode ser encontrada em Pagina de Arquivos Lazarus CCR 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).

SVN

você pode verificar a versão do código-fonte atual do
http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/

O comando seria:

svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene

Isto baixará do repositório da pasta (principal) para o diretório "glscene" de onde você deu o comando.

No windows você pode usar os clientes como tortoise SVN e outros.

Relatório de Erros

Relatório de Erros/Exibir pedido Por favor selecione em Project "Packages" e em Category "glscene" para seus relatórios. Obrigado.

Registro das Mudanças

  • 18.07.2007 liberação da versão Instantênea 1.0.0.2
    • algumas coisas ajustadas , para se trabalhar com última versão svn do lazarus
    • adcionados objetos bitmaps ao SceneEditor (Editor de Cenário)
    • consertado outro AV dentro do SceneEditor
    • incorporado todos os remendos (patches) e erros consertados (bugfixes) do repositorio cvs do glscene original como texturas,dinâmicos..
  • 13.06.2007 liberação da versão Instantênea 1.0.0.1
    • incorporado todos os remendos (patches) e erros consertados (bugfixes) do repositorio cvs do glscene original
    • editor de cena aprimorado ( menos porradas, mas ainda precisa de algum amor)
      Sugestão: Salve seu projeto freqüentemente ;-)
    • seperada dependencia de material do mmsystem do suporte de som genérico, por exemplo, FMOD que está disponível em linux, também
    • muitos mais ..
  • 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)
  • 10.08.05 Muitas mudanças para postar aqui veja o histórico cvs
  • 16.07.05 Porta GLScene 0.9.X
  • veja a Conta GLScene Sourceforge para o completo Registro das mudanças

Status: Beta

Instalação da versão 1.0.0.2

Requer o fpc 2.1.4 ou superior e o lazarus 0.9.23 revisão 11348 ou superior !!

  • extraindo os códigos-fontes
    • ZIP:
      • na pasta "lazarus/components/" execute o "unzip glscene-1.0.0.2.zip"
        Isto criará a pasta lazarus/components/glscene/
    • SVN:
      • na pasta "lazarus/components/" execute o
        svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene
        Isto criará a pasta lazarus/componets/glscene/
      • 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
        http://svn.freepascal.org/svn/fpcprojects/glscene/trunk
        Confirme em "OK".


  • Finalizando a instalação:
    • copie de "lazarus/components/glscene/globallinks/*.lpl" para "lazarus/packager/globallinks/"
    • inicie o lazarus
    • selecione "Configure installed packages ..." do menu "Components"
    • selecione "glscenelazarus" da lista "Available packages"
    • clique no botão "Install selection"
    • clique no botão "Save and rebuild IDE"
      • ATTENÇÃO: Pode ocorrer um erro em que o pacote "jpegforlazarus" não seja encontrado. Nesse caso faça o seguinte:
      • Components --> Open loaded package...
      • Escolha "glscenelazarus" (Version 1.0.0.3) e clique em "Open..."
      • Na lista seguinte abaixe até "Required Packages" e remova dependência de "jpegfromlazarus".
      • Procure a unit "jpeg" na pasta /lazarus/components/glscene/Source/base e substitua "LazJPEG" (dentro da cláusula uses) por "LazJPG" (do pacote ImagesForLazarus).
      • Salve e repita os últimos 4 passos denovo.
      • SUGESTÃO: Você deveria ter instalado o pacote "ImagesForLazarus" (o mesmo caminho descrito para o pacote "glscenelazarus").
    • repita os últimos 4 passos para os outros pacotes você queira usar.
      • Note: glsceneode and glscenecgshader need their respective libs on the system during installation!
    • 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 ;)
    • Instalação "glscenelazarus" - erros: (só precisou ao usar o glscene-1.0.0.2.zip, no svn já estão consertados)
      • Para corrigir a unit GLLCLViewer: procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - na procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams);
      • Para corrigir a unit GLLCLViewer: procedure TGLSceneViewer.EraseBackground(DC: HDC); - na procedure TGLSceneViewerLCL.EraseBackground(DC: HDC);
      • Para corrigir a unit GLLCLFullscreenViewer: Change "RegisterClasses([TGLSceneViewer, TGLFullScreenViewer]);" para "RegisterClasses([TGLFullScreenViewer]);"
  • Lista de pacotes:
    • glscenelazarus O pacote principal.
    • glscenecgshader Componentes Cg Shader
    • glsceneode Componentes ODE
    • glss_fmodlaz Component FMOD
    • gls_winonly Apenas para Windows, contém suporte ao som do mmsystem, suporte ao BASS e ao componente GLScreenSaver
  • Сompilação "demo" - erros:
    • Se não encontrada a class - TGLSceneViewer: Para corrigir o uses (demo): GLLCLViewer - no GLViewer

Installation version 0.9.6.1

  • Create the directory lazarus\components\GLScene
  • On this directory, unzip the files from the zip file
  • Open lazarus
  • Open the package glscenelazarus.lpk with Component/Open package file (.lpk) from lazarus\components\glscene\Lazarus
  • (Click on Compile is only necessary, if you don't want to install the component into the IDE)
  • Click on Install
  • Repeat these steps (open .lpk, click install) for the other packages you want to use. Note: these additional packages need additional libs (fmod, ode, Cg).
    • glscenecgshader.lpk : Cg shaders (only with NVidia cards?)
    • glsceneode.lpk : support for ode lib
    • glsss_fmodlaz.lpk : support for fmod lib
    • gls_winonly.lpk : this can be installed on windows only. Contains screensaver stuff as well as support for BASS lib.

Hint: sometimes an Error "GLGraphics not found" occurs. Don't worry, just do Tools->Build Lazarus again and it should be ok.

A full install of Lazarus with GLScene already in the IDE is available as binary win32 release or http://www.skinhat.com/lazarus

Just a warning for (new) Linux users: GLScene in its current state is not working "out of the box" (lots of modifications/additions needed). UPDATE: this is not true anymore. glscene for lazarus is pretty up-to-date and most things work good right out of the box for windows as well as for linux.

As of latest trunk version (see svn above) the linux version is working well. Some demos (about 20%) are still broken but the majority of glscene is now working. We're also moving towards making it work in other Unix platforms like FreeBSD.

The missing/nonworking parts on non-windows are: glKeyboard (uses winapi, but is not required mostly), glSound(which uses mm, we need to use openal or somesuch)

A fully featured windows installer is planned.

Ajuda