Difference between revisions of "GLScene/fr"

From Lazarus wiki
Jump to navigationJump to search
Line 13: Line 13:
 
*Objets structuraux (cube factice, objet de procuration) pour la gestion des objets composites   
 
*Objets structuraux (cube factice, objet de procuration) pour la gestion des objets composites   
 
*Objets procéduraux (heightfield, solides de révolution , pipes, tesselators...)  
 
*Objets procéduraux (heightfield, solides de révolution , pipes, tesselators...)  
*Support des objets 2D et 1D (sprites, lines with spline support) entièrement intégré  
+
*Support des objets 2D et 1D (sprites, lignes avec suppport des splines) entièrement intégré  
 
*Objets HUD (sprites rendus en coordonnées 2D)  
 
*Objets HUD (sprites rendus en coordonnées 2D)  
*Objets utilitaires (grilles , skydome, flèches ...)  
+
*Objets utilitaires (grilles , dôme du ciel, flèches ...)  
 
*Support des classes pour accéder directement à OpenGL  
 
*Support des classes pour accéder directement à OpenGL  
 
*Objects camera et source de lumière qui peuvent être utilisés n'importe où  dans une scène hiérarchisée d'objets
 
*Objects camera et source de lumière qui peuvent être utilisés n'importe où  dans une scène hiérarchisée d'objets
Line 25: Line 25:
  
 
Matériaux   
 
Matériaux   
*easy to use, optimized, material object
+
*facile à utiliser, objets matériaux optimisés
*material library to share and reuse materials
+
*bibliothèque de matériaux à partager et réutilisation de matériaux
*ambient, diffuse, emission, specular and shininess support
+
*support de l'ambiant, du diffus, de l'émission, du spéculaire et de la brillance
*support of blending modes (transparency, additive...)  
+
*support des modes de mélange ("blending") (transparence, additif ...)
*alpha-channel auto-generation
+
*auto-génération du canal alpha
*support for OpenGL texture formats, including compressed ones (DXT, S3TC etc.)  
+
*support des formats de texture OpenGL, incluant ceux compressés (DXT, S3TC etc.)
*generic plug-in shaders support
+
*support des modules d'extension de nuanceurs ("shaders")
*High-level Cg shaders support classes
+
*classes de support des nuanceurs Cg de haut-niveau.
*polymorphic image support for texturing (allows many formats as well as procedural textures), easily extendable
+
*support des images polymorphiques pour la texture (permet de nombreux formats tout comme des textures procédurales), facilement extensible
*more than 150 predefined colors like clrCornflowerBlue or clrCoolCopper (easily extendable) *in addition to standard colors and direct RGBA specifications
+
*plus de 150 couleurs prédéfinies comme clrCornflowerBlue ou clrCoolCopper (facilement extensible) en supplément des couleurs standard et des spécification RVB directes.
*easily to use texture movement and scaling properties, independently from texture coordinates
+
*propriétés de mouvement de texture et d'échelle facile à utiliser, indépendamment des coordonnées de texture.
*32 bits Bitmap support class
+
*classe de support des bitmap 32 bit
  
Rendering
+
Rendu
*automatically uses the hardware OpenGL driver if available
+
*exploite automatiquement le pilote matériel OpenGL si disponible
 +
  * * * * * A FINIR * * * * *
 
*a well working camera model using focal length and targeting  
 
*a well working camera model using focal length and targeting  
 
*multiple viewers for one or more scenes, easy change of view through camera selection  
 
*multiple viewers for one or more scenes, easy change of view through camera selection  
Line 64: Line 65:
 
*helper functions for converting between screen and world coordinates, raycasting  
 
*helper functions for converting between screen and world coordinates, raycasting  
  
Utilities
+
Utilitaires
 
*optimized geometry functions and utilities (vector, quaternion and matrix...)  
 
*optimized geometry functions and utilities (vector, quaternion and matrix...)  
 
*cubic spline support functions and class  
 
*cubic spline support functions and class  

Revision as of 08:26, 29 November 2016

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

A propos

GLScene est une bibliothèque 3D basée sur OpenGL. Elle a été écrite au commencement pour Delphi, maintenant elle fonctionne dans C++ Builder, Kylix, Delphi et Lazarus.

Ses caractéristiques principales sont :

Description de la scène

  • Structure hiérarchique d'objets, avec autant d'objets que la mémoire le permet, facilement extensible
  • Gestion interactive de la scène (nombreux experts Delphi)
  • Fonctions de rotation et de mouvement facile à utiliser pour chaque objet
  • Objets prédéfinis (tous les standards : du cube, à la théière, aux sprites ), facilement extensibles
  • Objets structuraux (cube factice, objet de procuration) pour la gestion des objets composites
  • Objets procéduraux (heightfield, solides de révolution , pipes, tesselators...)
  • Support des objets 2D et 1D (sprites, lignes avec suppport des splines) entièrement intégré
  • Objets HUD (sprites rendus en coordonnées 2D)
  • Objets utilitaires (grilles , dôme du ciel, flèches ...)
  • Support des classes pour accéder directement à OpenGL
  • Objects camera et source de lumière qui peuvent être utilisés n'importe où dans une scène hiérarchisée d'objets
  • Des objets de comportement peuvent être attachés aux objets pour l'animation, facilement extensible
  • Des effets spéciaux par-objet(rendu d'objet avant/après et les répercussions sur la scène), facilement *extensible
  • Support des systèmes de particules , n'importe quel objet ou structure d'objet peut être une particule
  • Importation des fichiers 3D studio avec un calcul du vecteur normal précis et automatique (en utilisant les groupes de *Lissage donnés du fichier) et l'importation des coordonnées de texture
  • Autres formats importés : OBJ/OBJF, SMD, MD2, STL, TIN, PLY

Matériaux

  • facile à utiliser, objets matériaux optimisés
  • bibliothèque de matériaux à partager et réutilisation de matériaux
  • support de l'ambiant, du diffus, de l'émission, du spéculaire et de la brillance
  • support des modes de mélange ("blending") (transparence, additif ...)
  • auto-génération du canal alpha
  • support des formats de texture OpenGL, incluant ceux compressés (DXT, S3TC etc.)
  • support des modules d'extension de nuanceurs ("shaders")
  • classes de support des nuanceurs Cg de haut-niveau.
  • support des images polymorphiques pour la texture (permet de nombreux formats tout comme des textures procédurales), facilement extensible
  • plus de 150 couleurs prédéfinies comme clrCornflowerBlue ou clrCoolCopper (facilement extensible) en supplément des couleurs standard et des spécification RVB directes.
  • propriétés de mouvement de texture et d'échelle facile à utiliser, indépendamment des coordonnées de texture.
  • classe de support des bitmap 32 bit

Rendu

  • exploite automatiquement le pilote matériel OpenGL si disponible
  * * * * * A FINIR * * * * *
  • 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

Utilitaires

  • 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

Author

Author: initially Mike Lischke
at time maintained by Eric Grange
LCL Port: Christian Ulrich

Download

Latest (v1.0.0.2)

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)

Outdated

An older release (version 0.9.1.6) can be found on the Lazarus CCR Files page together with a lazarus installer with GLScene already in the Lazarus IDE and GLScene demoes. UPDATE: This is pretty old now. If possible, use the svn checkout (see below).

SVN

you can checkout the actual source from
http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/

The command would be:

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.

In windows you can use clients like tortoise SVN and others.

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: Save your project frequently ;-)
    • seperated mmsystem dependent stuff from generic sound support so e.g. FMOD is available in linux, too
    • many more ..
  • 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)
  • 10.08.05 Too many changes to post here see 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

Requires fpc 2.1.4 or greater and lazarus 0.9.23 rev. 11348 or greater !!

  • extracting the sources
    • ZIP:
      • in "lazarus/components/" folder execute "unzip glscene-1.0.0.2.zip"
        This will create the lazarus/componets/glscene/ folder
    • SVN:
      • in "lazarus/components/" folder execute
        svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene
        This will create the lazarus/componets/glscene/ folder
  • Finish the installation:
    • copy "lazarus/components/glscene/globallinks/*.lpl" to "lazarus/packager/globallinks/"
    • start lazarus
    • select "Configure installed packages ..." from the "Components" menu
    • select "glscenelazarus" from the "Available packages" list
    • click "Install selection" button
    • click "Save and rebuild IDE" button
    • repeat the last 4 steps for the other packages you want to use.
      • 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 ;)
    • Install "glscenelazarus" - mistakes:
      • To correct the unit GLLCLViewer: procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - at procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams);
      • To correct the unit GLLCLViewer: procedure TGLSceneViewer.EraseBackground(DC: HDC); - at procedure TGLSceneViewerLCL.EraseBackground(DC: HDC);
      • To correct the unit GLLCLFullscreenViewer: Change "RegisterClasses([TGLSceneViewer, TGLFullScreenViewer]);" to "RegisterClasses([TGLFullScreenViewer]);"
  • List of packages:
    • glscenelazarus The main package.
    • glscenecgshader Cg Shader components
    • glsceneode ODE components
    • glss_fmodlaz FMOD component
    • gls_winonly Windows only, contains sound support over mmsystem, BASS support and GLScreenSaver component
  • Сompilation "demo" - mistakes:
    • If not found class - TGLSceneViewer: To correct the uses (demo): GLLCLViewer - at 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.

Help