Difference between revisions of "GLScene/fr"

From Lazarus wiki
Jump to navigationJump to search
Line 132: Line 132:
  
 
=== Installation de la version 1.0.0.2 ===
 
=== Installation de la version 1.0.0.2 ===
'''Requires fpc 2.1.4 or greater  and lazarus 0.9.23 rev. 11348 or greater !!'''
+
'''Nécessite  fpc 2.1.4 ou supérieur et lazarus 0.9.23 rév. 11348 ou supérieur !!'''
  
* '''extracting the sources'''
+
* '''Extraction des sources'''
 
** ZIP:
 
** ZIP:
*** in "lazarus/components/" folder execute "unzip glscene-1.0.0.2.zip" <br>This will create the lazarus/componets/glscene/ folder
+
*** Dans le dossier "lazarus/components/" exécuter "unzip glscene-1.0.0.2.zip" <br>Cela créera le dossier lazarus/componets/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
+
*** Dans le dossier "lazarus/components/" exécuter <pre>svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene</pre>Cela créera le dossier lazarus/componets/glscene/.
  
* '''Finish the installation:'''
+
* '''Terminer l'installation :'''
** copy "lazarus/components/glscene/globallinks/*.lpl" to "lazarus/packager/globallinks/"
+
** Copier "lazarus/components/glscene/globallinks/*.lpl" vers "lazarus/packager/globallinks/"
** start lazarus
+
** Lancez 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:'''
+
** Sélectionner "Configurer les paquets installés ..." du menu "Composants"
** '''glscenelazarus'''    The main package.
+
** sélectionner "glscenelazarus" depuis la liste des "Paquets disponibles"
** '''glscenecgshader'''    Cg Shader components
+
** cliquer sur le bouton "Installer la  sélection"
** '''glsceneode'''        ODE components
+
** cliquer sur le bouton "Enregistrer et reconstruire l'IDE"
** '''glss_fmodlaz'''      FMOD component
+
** répéter les 4 dernières étapes pour les autres paquets que vous voulez utiliser.
** '''gls_winonly'''       Windows only, contains sound support over mmsystem, BASS support and GLScreenSaver component
+
*** Note: glsceneode et glscenecgshader ont besoin de leur bibliothèques respectives dans le système pendant l'installation !
 +
** '''Note:''' vous pouvez aussi essayer de sélectionner et installer tous les paquets en un seul tour. Toutefois, faire les choses pas à pas à l'avantage de mettre en évidence ce qui ne marche pas quand cela échoue.
  
* '''Сompilation "demo" - mistakes:'''
+
** '''Installer "glscenelazarus" - erreurs :'''
**If not found class - TGLSceneViewer: To correct the uses (demo): GLLCLViewer - at GLViewer
+
***Pour corriger l'unité GLLCLViewer : procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - à procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams);
 +
***Pour corriger l'unité GLLCLViewer : procedure TGLSceneViewer.EraseBackground(DC: HDC); - à procedure TGLSceneViewerLCL.EraseBackground(DC: HDC);
 +
***Pour corriger l'unité GLLCLFullscreenViewer : changer  "RegisterClasses([TGLSceneViewer, TGLFullScreenViewer]);" par "RegisterClasses([TGLFullScreenViewer]);"
 +
 
 +
* '''Liste des paquets :'''
 +
** '''glscenelazarus'''    Le paquet principal.
 +
** '''glscenecgshader'''    Composants nuanceur Cg
 +
** '''glsceneode'''        Composants ODE
 +
** '''glss_fmodlaz'''      Composant FMOD
 +
** '''gls_winonly'''        Windows seulement, contient le support du son à travers mmsystem, le support de BASS et le composant GLScreenSaver.
 +
 
 +
* '''Сompilation "demo" - erreurs:'''
 +
**Si la classe TGLSceneViewer est non trouvée : Pour corriger l'utilisation (demo): GLLCLViewer - à GLViewer
  
 
=== Installation version 0.9.6.1 ===
 
=== Installation version 0.9.6.1 ===

Revision as of 08:56, 2 December 2016

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

(NdT : traduction non garantie, termes techniques incertains en français, reportez-vous à la version anglaise en cas de doute)

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
  • un modèle de caméra marchant bien et utilisant la longueur focale et le ciblage
  • visualisateurs multiples pour une ou plusieurs scènes, changement de vue a travers la sélection de camera
  • support du brouillard et de la profondeur de champ
  • rendu vers un fichier, une bitmap ou une imprimante dans n'importe quelle couleur ou résolution de point.
  • support du plein-écran avec des changements dynamiques de résolution
  • réflexions et effets de miroirs.
  • lancement ("casting") dynamique d'ombre
  • support de système de particules transparentes sur toute la scène à haute performance
  • Détermination automatique des faces cachées (hiérarchique ou par objet)

Animation

  • propagation d'événement de progression de temps.
  • animation en squelette (os multiples par sommet)
  • interpolation de trames et cible de morphage ("morph targets")
  • comportement facilement extensible
  • physiques dynamiques : inertie, accélération, amortissement et application de force
  • cadencement automatique de scène en temps réel

Interface

  • fonctions pour déterminer l'objet choisi facile à utiliser
  • fonction d'assistance pour les mouvements de caméra
  • fonction d'assistance pour la translation des objets choisis
  • fonction d'assistance pour la conversion entre écran et coordonnées réelles, raycasting

Utilitaires

  • fonctions optimisées de géométrie et outils (vecteur, quaternion et matrice...)
  • classe et fonctions de support des splines cubiques
  • manipulation et optimisation du maillage (stripification, sensibilité au cache des sommets, etc.)
  • composant pour créer des économiseurs d'écran complètement fonctionnels en quelques clics
  • détermination précise de la vitesse de trame
  • timer asynchrone (multi-thread-é)
  • support du joystick
  • accès asynchrone au clavier, support des cartes de clavier

Captures d'écran

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

Auteur

Auteur: initialement Mike Lischke
maintenu un temps par Eric Grange
Migration LCL : Christian Ulrich

Téléchargement

Le plus récent (v1.0.0.2)

Ceci devrait être presque identique au dépôt cvs original de ces jours en termes de fonctionnalités et correction de bugs, toutefois, il y a toujours des parties qui manquent. Il n'y aura pas d'installeur-Lazarus-avec-GLScene" avec cette nouvelle livraison, à moins que quelqu'un ne la crée. --Crossbuilder 20:16, 18 July 2007 (CEST)

Désuet

Une version plus ancienne (version 0.9.1.6) peut être trouvée dans la page des fichiers Lazarus CCR avec un installeur Lazarus avec GLScene intégré dans l'IDE Lazarus et des démos GLScene.

Mise à jour : C'est assez vieux maintenant. Si possible, utilisez la commande svn (voir ci-dessous).

SVN

vous pouvez descendre les sources courantes depuis
http://svn.freepascal.org/svn/fpcprojects/glscene/trunk/

La command sera:

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

Cela téléchargera le tronc (principal) du dépôt vers le dossier "glscene" de l'endroit où vous invoquez la commande.

Dans Windows, vous pouvez utiliser des clients comme Tortoise SVN ou autres.

Rapport de bug

Rapport de bug/demande de fonctionnalité SVP, sélectionner le projet "Packages" et la catégorie "glscene" pour vos rapports. Merci.

Changement

  • 18/07/2007 Livraison de l'instantané version 1.0.0.2
    • certaines choses ajustées, ainsi il tourne avec la dernière version svn de Lazarus
    • sont ajoutées des bitmaps d'objet pour l'éditeur de scène
    • est corrigée une autre violation d'accès dans l'éditeur de scène
    • sont incorporés tous les patchs et corrections de bugs du dépôt originel cvs comme les textures dynamiques ...
  • 13/06/2007 Livraison de l'instantané version 1.0.0.1
    • sont incorporés tous les patchs et corrections de bugs du dépôt originel cvs
    • est amélioré l'éditeur de scène (mois de plantage, mais demande toujours de l'amour)
      Tip: enregistrez votre projet régulièrement ;-)
    • sont séparés les choses dépendant de mmsystem du support générique du son ainsi p.ex. FMOD est aussi disponible dans Linux
    • et bien plus ...
  • 01/12/2006 Est ajouté le support pour ODE, gtk2 et des nuanceurs Cg dans Linux (ODE est limité en version normale, les cônes, cylindres et terrains ne sont pas supportés)
  • 10/08/2005 Trop de changements pour être publiés ici, voir l'historique cvs
  • 16/07/2005 Portage GLScene 0.9.X
  • Regarder dans le compte SourceForge GLScene pour une liste complète des changements.

Etat: Beta

Installation de la version 1.0.0.2

Nécessite fpc 2.1.4 ou supérieur et lazarus 0.9.23 rév. 11348 ou supérieur !!

  • Extraction des sources
    • ZIP:
      • Dans le dossier "lazarus/components/" exécuter "unzip glscene-1.0.0.2.zip"
        Cela créera le dossier lazarus/componets/glscene/.
    • SVN:
      • Dans le dossier "lazarus/components/" exécuter
        svn co http://svn.freepascal.org/svn/fpcprojects/glscene/trunk glscene
        Cela créera le dossier lazarus/componets/glscene/.
  • Terminer l'installation :
    • Copier "lazarus/components/glscene/globallinks/*.lpl" vers "lazarus/packager/globallinks/"
    • Lancez lazarus
    • Sélectionner "Configurer les paquets installés ..." du menu "Composants"
    • sélectionner "glscenelazarus" depuis la liste des "Paquets disponibles"
    • cliquer sur le bouton "Installer la sélection"
    • cliquer sur le bouton "Enregistrer et reconstruire l'IDE"
    • répéter les 4 dernières étapes pour les autres paquets que vous voulez utiliser.
      • Note: glsceneode et glscenecgshader ont besoin de leur bibliothèques respectives dans le système pendant l'installation !
    • Note: vous pouvez aussi essayer de sélectionner et installer tous les paquets en un seul tour. Toutefois, faire les choses pas à pas à l'avantage de mettre en évidence ce qui ne marche pas quand cela échoue.
    • Installer "glscenelazarus" - erreurs :
      • Pour corriger l'unité GLLCLViewer : procedure TGLSceneViewer.CreateParams(var Params: TCreateParams); - à procedure TGLSceneViewerLCL.CreateParams(var Params: TCreateParams);
      • Pour corriger l'unité GLLCLViewer : procedure TGLSceneViewer.EraseBackground(DC: HDC); - à procedure TGLSceneViewerLCL.EraseBackground(DC: HDC);
      • Pour corriger l'unité GLLCLFullscreenViewer : changer "RegisterClasses([TGLSceneViewer, TGLFullScreenViewer]);" par "RegisterClasses([TGLFullScreenViewer]);"
  • Liste des paquets :
    • glscenelazarus Le paquet principal.
    • glscenecgshader Composants nuanceur Cg
    • glsceneode Composants ODE
    • glss_fmodlaz Composant FMOD
    • gls_winonly Windows seulement, contient le support du son à travers mmsystem, le support de BASS et le composant GLScreenSaver.
  • Сompilation "demo" - erreurs:
    • Si la classe TGLSceneViewer est non trouvée : Pour corriger l'utilisation (demo): GLLCLViewer - à 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.

Aide