Mes programmes OpenSource

Pour une offre professionnelle, consultez mon site http://www.execute.re.

OpenGL - Projets OpenGL

Intro InsideGL SpotLight DCal3D DCal3D VCL 3DStudio 3DObject ProgMesh Lightmaps gluTess Picking shuttle Ani8tor Fock3D

Intro Introduction à OpenGL

OpenGL est une API portable de graphisque en 3D :

  1. OpenGL est le niveau le plus bas, il gère directement la carte vidéo
  2. GLU est une bibliothèque de fonctions qui s'appuient sur OpenGL (création de sphères, cylindres...)
  3. GLUT encapsule les API spécifiques au système d'exploitation (création de fenêtre...)

Ma page Kylix présente quelques exemples basés sur ma MiniGL.

Cette nouvelle partie de mon site propose des exemples d'utilisation d'une nouvelle série de composant OpenGL :
 DelphiGL.PAS est encore une nouvelle Unité d'interface pour OpenGL, celle-ci n'est pas
 mieux que les moultes autres disponibles un peu partout sur internet, mais elle est basée
 sur quelques principes :
  1- Seules les fonctions dont j'ai eu besoin sont implémentée.
  2- Les types standard de Delphi sont utilisés en lieu est place des moultes type OpenGL
    (GLFloat=single, GLInt=integer...)
  3- les constantes OpenGL sont triées par ordre numérique croissant, j'ai en effet constaté
     qu'il était à peu près impossible de regrouper ces constantes de façon intelligente.
     GL_TEXTURE_2D par exemple est utilisée en 3 endroits différents pour des fonctions
     différentes. Les constantes de même nature ont des valeurs totalement indépendantes.
     Finalement l'ordre numérique permet de repérer facilement les "trous" dans la liste
     des constantes ;)    
  4- les fonctions sont déclarées par ordre alphabétique.
  5- l'unité couvre aussi bien OpenGL que GLU et GLUT (dans les limites du point n°1)
  6- les fonctions GLU/GLUT simples sont implémentée en Pascal d'après le source de Mesa.

 WinGL.PAS cette unité NE veut PAS créer un modèle objet indépendant d'OpenGL, mais simplement
 une présentation RAD des fonctions OpenGL. Ansi TWinGL propose la pluspart des options OpenGL
 traditionnellement utilisée sous forme de propriétés modifiable dans l'IDE.
 l'évènement OnCreateGL doit contenir le code d'initialisation OpenGL (il est déclenché à la
 création du contexte OpenGL)
 l'évènement OnPaint doit contenir le code effectuant le rendu; si GLMode=glAuto, les
 buffers sont déjà effacés, et on peut passer directement à glBegin()...après l'évènement
 TWinGL se charge du SwapBuffer().
 Il sagit donc simplement d'une automatisation des fonctions OpenGL, vous devez malgré tout 
 connaitre l'API OpenGL pour utiliser ces composants ;)
 TGLTex crée un Texture à partir d'un BMP ou d'un PCX.
 TGLLight gère les fonctions liées à GL_LIGHTi, voir le code démo.