Difference between revisions of "GLScene/de"

From Lazarus wiki
Jump to navigationJump to search
m
m
 
(14 intermediate revisions by 2 users not shown)
Line 2: Line 2:
  
 
=== Über ===
 
=== Über ===
GLScene ist eine auf OpenGL basierende 3D Bibliothek. It was initially written for Delphi, now it is running in C++ Builder, Kylix, Delphi and Lazarus.
+
GLScene ist eine auf OpenGL basierende 3D Bibliothek. Sie wurde ursprünglich für Delphi geschrieben, funktioniert jetzt aber auch mit C++ Builder, Kylix, Delphi und Lazarus.
  
Its main caracteristics are :
+
Seine Hauptmerkmale sind:
  
Scene description
+
Scenenbeschriebung
*hierarchical objects structure, with as many objects as memory allows, easily extendable
+
*Hierarchische Objektstruktur, mit so vielen Objekten wie der Speicher es erlaubt, einfach erweiterbar
*interactive scene management (numerous Delphi experts)
+
*Interaktives Scenenmanagement
*easy to use rotation and movement functions for each object
+
*Einfache Rotationen und Bewegungsfunktionen für jedes Objekt
*predefined objects (all standards from cube to teapot to sprite), easily extendable
+
*Vordefinierte Objekte (Alle Standartobjekte von Kubus bis zu Teekanne zu Sprite), einfach erweiterbar
*structural objects (dummy cube, proxy object) for manageing composite objects
+
*Struktur Objekte (dummy cube, proxy object) um untergeordnete Objekte zu managen
*procedural objects (heightfield, revolution solids, pipes, tesselators...)  
+
*Funktionsgesteuerte Objekte (heightfield, revolution solids, pipes, tesselators...)  
*support for 2D and 1D objects (sprites, lines with spline support) fully integrated
+
*Unterstützung für 2D und 3D Objekte (Sprites, Linien mit Sprite Unterstützung) voll integriert
*HUD objects (sprites rendered in 2D coordinates)  
+
*HUD Objekte (Sprites in 2D Koordinaten gerendert)  
*Utility objects (grids, skydome, arrows...)  
+
*Utility Objekte (Gitter, Skydome, Zeiger...)  
*support classes for directly accessing OpenGL  
+
*Unterstützungsklasse um direkt auf OpenGL zuzugreifen
*camera and light objects that can be used anywhere in a scene objects hierarchy
+
*Kamera und Licht Objekte fügen sich nahtlos in die Scenen hierarchie ein
*behaviour objects can be attached to objects for animation purposes, easily extendable
+
*Verhaltensobjekte können an Objekte angehängt werden um diese zu animieren, einfach erweiterbar
*per-object special effects (before/after object rendering and scene after-effects), easily *extendable
+
*Pro-Objekt Spezialeffekte (vor/nach Objektrendering und scene after-effects), einfach erweiterbar
*support for particle systems, any object or object structure can be a particle
+
*Unterstützung für Partikelsysteme, jedes Objekt oder Objektstruktur kann ein Partikel sein
*3D Studio file import with automatic and precise normal vector calculation (using the given *smoothing groups of the file) and texture coordinate import
+
*3D Studio Datei Import mit automatischer präziser normalen Berechnung (benutzt die smoothing groups der Datei) und Texturkoordinaten Import
*Other imported formats : OBJ/OBJF, SMD, MD2, STL, TIN, PLY  
+
*Andere 3D Formate: OBJ/OBJF, SMD, MD2, STL, TIN, PLY und mehr
  
 
Materials  
 
Materials  
Line 81: Line 81:
  
 
=== Autor ===
 
=== Autor ===
Autor: initially Mike Lischke<br>
+
Autor: ursprünglich Mike Lischke<br>
at time maintained by Eric Grange<br>
+
jetzt gewartet von Eric Grange<br>
 
LCL Port: [[User:Christian|Christian Ulrich]]  
 
LCL Port: [[User:Christian|Christian Ulrich]]  
 
   
 
   
 
=== Download ===
 
=== Download ===
The latest stable release can be found on the [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=98986&release_id=364007 Lazarus CCR Files page] together with a lazarus installer with GLScene already in the Lazarus IDE and GLScene demoes.
+
 
 +
==== Neueste Version (1.0.0.2) ====
 +
A new snapshot release can be found at [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641 Lazarus CCR Files page].
 +
This should be almost identical to the original cvs repository of today in terms of functionality and bugfixes, however, there are still some parts missing. There wont be a "Lazarus-with-GLScene-Installer" with this new release, unless someone else creates it.
 +
--[[User:Crossbuilder|Crossbuilder]] 20:16, 18 July 2007 (CEST)
 +
 
 +
==== Veraltet ====
 +
Ein älteres Release (Version 0.9.1.6) ist zu finden auf der [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=98986&release_id=364007 Lazarus CCR Seite] zusammen mit einem Lazarus-Installer, der GLScene bereits in die Lazarus IDE integriert sowie GLScene Demos.
  
 
=== SVN ===
 
=== SVN ===
you can checkout the actual source from<br>
+
Sie können die aktuellen Quellen auschecken von<br>
 
http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/<br>
 
http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/<br>
  
The command would be: <br>
+
Das Kommando dafür lautet: <br>
 
<pre>svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene</pre>
 
<pre>svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene</pre>
  
 
This will download the trunk (main) repository to "glscene" dir to whereever you invoked the command from.
 
This will download the trunk (main) repository to "glscene" dir to whereever you invoked the command from.
  
In windows you can use clients like tortoise SVN and others.
+
Unter Windows können sie Clients wie Tortoise SVN oder andere verwenden.
  
=== Bug reporting/Feature request ===
+
=== Bug reporting ===
  
[http://avl.ath.cx/mantis/ Bug Reporting/Featurerequest]
+
[http://www.freepascal.org/mantis/ Bug Reporting/Featurerequest] Please select Project "Packages" and Category "glscene" for your reports. Thanks.
  
 
=== Change Log ===
 
=== Change Log ===
*01.12.06 Added support for ODE, gtk2 and Cg shaders in Linux (ODE is limited to normal release, unsupported are cone, ccylinder and terrains)
+
* 18.07.2007 Snapshot release version 1.0.0.2
*10.08.05 Too many changes to post here see cvs history
+
** adjusted some things, so it works with latest lazarus svn version
 +
** added object bitmaps for the SceneEditor
 +
** fixed another AV in SceneEditor
 +
** incorporated all patches and bugfixes from original glscene cvs repo like dynamic textures ..
 +
*13.06.2007 Snapshot release version 1.0.0.1
 +
** incorporated all patches and bugfixes from original glscene cvs repo
 +
** improved scene editor (crashes less, but still needs some love)<br>'''Tip:''' Speichern sie ihr Projekt regelmäßig ;-)
 +
** seperated mmsystem dependent stuff from generic sound support so e.g. FMOD is available in linux, too
 +
** many more ..
 +
*01.12.06 Unterstützung für ODE, GTK2 und Cg Shader in Linux hinzugefügt (ODE is limited to normal release, unsupported are cone, ccylinder and terrains)
 +
*10.08.05 Zu viele Änderungen um sie hier aufzuführen, siehe CVS History
 
*16.07.05 GLScene 0.9.X Port
 
*16.07.05 GLScene 0.9.X Port
 
*look at GLScene Sourceforge Account for complete Changelog
 
*look at GLScene Sourceforge Account for complete Changelog
Line 112: Line 129:
  
 
=== Installation ===
 
=== Installation ===
* Create the directory lazarus\components\GLScene
+
 
* On this directory, unzip the files from the zip file
+
==== Version 1.0.0.2 ====
* Open lazarus
+
 
* Open the package .lpk with Component/Open package file (.lpk) for Windows from LazarusWin for Linux from LazarusLin
+
'''Anmerkung: Sie benötigen FPC 2.1.4 oder höher und Lazarus 0.9.23 (Revision 11348) oder höher !!'''
* (Click on Compile is only necessary, if you don't want to install the component into the IDE)
+
 
* Click on Install
+
* '''Extrahieren der Quellen'''
Hint: sometimes an Error "GLGraphics not found" occurs. Don't worry, just do Tools->Build Lazarus again and it should be ok.
+
** ZIP:
 +
*** Im Verzeichnis "lazarus/components/" führen sie aus "unzip glscene-1.0.0.2.zip" <br>Dies wird das Verzeichnis lazarus/componets/glscene/ erzeugen.
 +
** SVN:
 +
*** Im Verzeichnis "lazarus/components/" führen sie aus <pre>svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene</pre>Dies wird das Verzeichnis lazarus/componets/glscene/ erzeugen.
 +
 
 +
* '''Fertigstellen der Installation:'''
 +
** Kopieren sie "lazarus/components/glscene/globallinks/*.lpl" nach "lazarus/packager/globallinks/"
 +
** Starten sie Lazarus
 +
** Wählen sie Komponenten -> Installierte Packages einrichten ...
 +
** Wählen sie "glscenelazarus" in der "Verfügbare Packages" Liste
 +
** Klicken sie auf den "Auswahl installieren" Button
 +
** Klicken sie auf den "Speichern und IDE neu bauen" Button
 +
** Wiederholen sie die letzten 4 Schritte für die anderen Packages, die sie verwenden wollen
 +
*** Anmerkung: glsceneode und glscenecgshader benötigen ihre zugehörigen Bibliotheken während der Installation!
 +
** '''Anmerkung:''' 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 ;)
 +
 
 +
* '''Liste der Packages:'''
 +
** '''glscenelazarus'''    Das Haupt-Package.
 +
** '''glscenecgshader'''    Cg Shader Komponenten
 +
** '''glsceneode'''        ODE Komponenten
 +
** '''glss_fmodlaz'''      FMOD Komponente
 +
** '''gls_winonly'''        nur für Windows, enthält Soundunterstützung mittels mmsystem, BASS Unterstützung und die GLScreenSaver Komponente
 +
 
 +
==== Version 0.9.6.1 ====
 +
* Erstellen sie das Verzeichnis lazarus\components\GLScene
 +
* Entpacken sie die Dateien aus der Zip Datei in dieses Verzeichnis.
 +
* Starten sie Lazarus
 +
* Wählen sie unter Komponenten -> Package-Datei (.lpk) öffnen das gewünschte Package
 +
* Klicken sie auf Installieren.
 +
* Wiederholen sie diese Schritte (.lpk öffnen, auf Installieren klicken) für die anderen Packages, die sie verwenden wollen. Anmerkung: Diese zusätzlichen Packages benötigen weitere Bibliotheken (FMOD, ODE, Cg).
 +
** glscenecgshader.lpk : Cg shaders (only with NVidia cards?)
 +
** glsceneode.lpk : Unterstützung für die ODE Bibliothek
 +
** glsss_fmodlaz.lpk : Unterstützung für die FMOD Bibliothek
 +
** gls_winonly.lpk : this can be installed on windows only. Contains screensaver stuff as well as support for BASS lib.
 +
 
 +
Hinweis: Manchmal erscheint die Fehlermeldung "GLGraphics not found". Keine Sorge, starten sie Werkzeuge ->Build Lazarus erneut und es sollte in Ordnung sein.
  
 
A full install of Lazarus with GLScene already in the IDE is available as [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641&release_id=405739 binary win32 release] or [http://www.skinhat.com/lazarus http://www.skinhat.com/lazarus]
 
A full install of Lazarus with GLScene already in the IDE is available as [http://sourceforge.net/project/showfiles.php?group_id=92177&package_id=185641&release_id=405739 binary win32 release] or [http://www.skinhat.com/lazarus http://www.skinhat.com/lazarus]
Line 124: Line 176:
 
Just a warning for (new) Linux users:
 
Just a warning for (new) Linux users:
 
GLScene in its current state is not working "out of the box" (lots of modifications/additions needed).
 
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.
 
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.
Line 133: Line 186:
 
=== Hilfe ===
 
=== Hilfe ===
  
Can be found at [http://www.glscene.org Main GLScene Page]
+
* Ist zu finden auf der [http://www.glscene.org Main GLScene Page]
 +
* join #glscene channel at freenode.net

Latest revision as of 12:42, 19 July 2007

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

Über

GLScene ist eine auf OpenGL basierende 3D Bibliothek. Sie wurde ursprünglich für Delphi geschrieben, funktioniert jetzt aber auch mit C++ Builder, Kylix, Delphi und Lazarus.

Seine Hauptmerkmale sind:

Scenenbeschriebung

  • Hierarchische Objektstruktur, mit so vielen Objekten wie der Speicher es erlaubt, einfach erweiterbar
  • Interaktives Scenenmanagement
  • Einfache Rotationen und Bewegungsfunktionen für jedes Objekt
  • Vordefinierte Objekte (Alle Standartobjekte von Kubus bis zu Teekanne zu Sprite), einfach erweiterbar
  • Struktur Objekte (dummy cube, proxy object) um untergeordnete Objekte zu managen
  • Funktionsgesteuerte Objekte (heightfield, revolution solids, pipes, tesselators...)
  • Unterstützung für 2D und 3D Objekte (Sprites, Linien mit Sprite Unterstützung) voll integriert
  • HUD Objekte (Sprites in 2D Koordinaten gerendert)
  • Utility Objekte (Gitter, Skydome, Zeiger...)
  • Unterstützungsklasse um direkt auf OpenGL zuzugreifen
  • Kamera und Licht Objekte fügen sich nahtlos in die Scenen hierarchie ein
  • Verhaltensobjekte können an Objekte angehängt werden um diese zu animieren, einfach erweiterbar
  • Pro-Objekt Spezialeffekte (vor/nach Objektrendering und scene after-effects), einfach erweiterbar
  • Unterstützung für Partikelsysteme, jedes Objekt oder Objektstruktur kann ein Partikel sein
  • 3D Studio Datei Import mit automatischer präziser normalen Berechnung (benutzt die smoothing groups der Datei) und Texturkoordinaten Import
  • Andere 3D Formate: OBJ/OBJF, SMD, MD2, STL, TIN, PLY und mehr

Materials

  • easy to use, optimized, material object
  • material library to share and reuse materials
  • ambient, diffuse, emission, specular and shininess support
  • support of blending modes (transparency, additive...)
  • alpha-channel auto-generation
  • support for OpenGL texture formats, including compressed ones (DXT, S3TC etc.)
  • generic plug-in shaders support
  • High-level Cg shaders support classes
  • polymorphic image support for texturing (allows many formats as well as procedural textures), easily extendable
  • more than 150 predefined colors like clrCornflowerBlue or clrCoolCopper (easily extendable) *in addition to standard colors and direct RGBA specifications
  • easily to use texture movement and scaling properties, independently from texture coordinates
  • 32 bits Bitmap support class

Rendering

  • automatically uses the hardware OpenGL driver if available
  • a well working camera model using focal length and targeting
  • multiple viewers for one or more scenes, easy change of view through camera selection
  • fog and depth-of-view support
  • render to a file, a bitmap or to the printer in any color and pixel resolution
  • full screen support with dynamic resolution changes
  • reflections and mirror effects
  • dynamic shadow casting
  • high-performance scene-wide transparent particles system support
  • automatic frustrum culling (hierarchical or per-object)

Animation

  • propagation of time progression events
  • skeletal animation (multiple bones per vertex)
  • frame interpolation and morph targets
  • easily extendable Behaviours
  • dynamic physics : inertia, acceleration, damping and force application
  • automatic, realtime scene cadenceing

Interface

  • easy-to-use functions to determine picked objects
  • helper functions for camera movements
  • helper functions for picked object's translation
  • helper functions for converting between screen and world coordinates, raycasting

Utilities

  • optimized geometry functions and utilities (vector, quaternion and matrix...)
  • cubic spline support functions and class
  • mesh manipulation and optimization (stripification, vertex-cache awareness, etc.)
  • component to make full-featured screen-saver in a few clicks
  • precise frame speed determination
  • asynchronous timer (multi-threaded)
  • joystick support
  • asynchronous keyboard access, keymap support

Screenshots

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

Autor

Autor: ursprünglich Mike Lischke
jetzt gewartet von Eric Grange
LCL Port: Christian Ulrich

Download

Neueste Version (1.0.0.2)

A new snapshot release can be found at Lazarus CCR Files page. This should be almost identical to the original cvs repository of today in terms of functionality and bugfixes, however, there are still some parts missing. There wont be a "Lazarus-with-GLScene-Installer" with this new release, unless someone else creates it. --Crossbuilder 20:16, 18 July 2007 (CEST)

Veraltet

Ein älteres Release (Version 0.9.1.6) ist zu finden auf der Lazarus CCR Seite zusammen mit einem Lazarus-Installer, der GLScene bereits in die Lazarus IDE integriert sowie GLScene Demos.

SVN

Sie können die aktuellen Quellen auschecken von
http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/

Das Kommando dafür lautet:

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

This will download the trunk (main) repository to "glscene" dir to whereever you invoked the command from.

Unter Windows können sie Clients wie Tortoise SVN oder andere verwenden.

Bug reporting

Bug Reporting/Featurerequest Please select Project "Packages" and Category "glscene" for your reports. Thanks.

Change Log

  • 18.07.2007 Snapshot release version 1.0.0.2
    • adjusted some things, so it works with latest lazarus svn version
    • added object bitmaps for the SceneEditor
    • fixed another AV in SceneEditor
    • incorporated all patches and bugfixes from original glscene cvs repo like dynamic textures ..
  • 13.06.2007 Snapshot release version 1.0.0.1
    • incorporated all patches and bugfixes from original glscene cvs repo
    • improved scene editor (crashes less, but still needs some love)
      Tip: Speichern sie ihr Projekt regelmäßig ;-)
    • seperated mmsystem dependent stuff from generic sound support so e.g. FMOD is available in linux, too
    • many more ..
  • 01.12.06 Unterstützung für ODE, GTK2 und Cg Shader in Linux hinzugefügt (ODE is limited to normal release, unsupported are cone, ccylinder and terrains)
  • 10.08.05 Zu viele Änderungen um sie hier aufzuführen, siehe CVS History
  • 16.07.05 GLScene 0.9.X Port
  • look at GLScene Sourceforge Account for complete Changelog

Status: Beta

Installation

Version 1.0.0.2

Anmerkung: Sie benötigen FPC 2.1.4 oder höher und Lazarus 0.9.23 (Revision 11348) oder höher !!

  • Extrahieren der Quellen
    • ZIP:
      • Im Verzeichnis "lazarus/components/" führen sie aus "unzip glscene-1.0.0.2.zip"
        Dies wird das Verzeichnis lazarus/componets/glscene/ erzeugen.
    • SVN:
      • Im Verzeichnis "lazarus/components/" führen sie aus
        svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene
        Dies wird das Verzeichnis lazarus/componets/glscene/ erzeugen.
  • Fertigstellen der Installation:
    • Kopieren sie "lazarus/components/glscene/globallinks/*.lpl" nach "lazarus/packager/globallinks/"
    • Starten sie Lazarus
    • Wählen sie Komponenten -> Installierte Packages einrichten ...
    • Wählen sie "glscenelazarus" in der "Verfügbare Packages" Liste
    • Klicken sie auf den "Auswahl installieren" Button
    • Klicken sie auf den "Speichern und IDE neu bauen" Button
    • Wiederholen sie die letzten 4 Schritte für die anderen Packages, die sie verwenden wollen
      • Anmerkung: glsceneode und glscenecgshader benötigen ihre zugehörigen Bibliotheken während der Installation!
    • Anmerkung: 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 ;)
  • Liste der Packages:
    • glscenelazarus Das Haupt-Package.
    • glscenecgshader Cg Shader Komponenten
    • glsceneode ODE Komponenten
    • glss_fmodlaz FMOD Komponente
    • gls_winonly nur für Windows, enthält Soundunterstützung mittels mmsystem, BASS Unterstützung und die GLScreenSaver Komponente

Version 0.9.6.1

  • Erstellen sie das Verzeichnis lazarus\components\GLScene
  • Entpacken sie die Dateien aus der Zip Datei in dieses Verzeichnis.
  • Starten sie Lazarus
  • Wählen sie unter Komponenten -> Package-Datei (.lpk) öffnen das gewünschte Package
  • Klicken sie auf Installieren.
  • Wiederholen sie diese Schritte (.lpk öffnen, auf Installieren klicken) für die anderen Packages, die sie verwenden wollen. Anmerkung: Diese zusätzlichen Packages benötigen weitere Bibliotheken (FMOD, ODE, Cg).
    • glscenecgshader.lpk : Cg shaders (only with NVidia cards?)
    • glsceneode.lpk : Unterstützung für die ODE Bibliothek
    • glsss_fmodlaz.lpk : Unterstützung für die FMOD Bibliothek
    • gls_winonly.lpk : this can be installed on windows only. Contains screensaver stuff as well as support for BASS lib.

Hinweis: Manchmal erscheint die Fehlermeldung "GLGraphics not found". Keine Sorge, starten sie Werkzeuge ->Build Lazarus erneut und es sollte in Ordnung sein.

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.

Hilfe