Image non trouvée !OpenGL

 

OpengGL (et dérivés) est une API 3D prévue pour fonctionner sur différentes plateformes:

Linux, Windows (Microsoft cherchant à compliquer l'utilisation d'OpenGL afin de privilégier DirectX), Mac OS X, ...

OpenGL SE pour les mobiles (Android), Consoles de jeux, périphériques embarqués...

 

Cette API est maintenue par Khronos Group

Il s'agissait initialement d'une API fonctionnant sur le principe de machine à état (on/off). Cependant, en 2008, l'ARB décide de forker OpenGL en 2 profiles:

  • core profile: retire d'OpenGL tout ce qui est considéré comme n'étant pas suffisement optimisé pour le traitement de l'image 3D.
  • compatibility profile: permet d'avoir une compatibilité OpenGL jusqu'au début soit 1992 - Utilisé pour les vieux programmes afin d'éviter de devoir les reprogrammer.

OpenGL utilise un "pipeline" dans lequel vous injectez les coordonnées 3D de vos objets. Ces coordonnées passent ainsi par différentes étapes qui vont permettre de transformer les objets 3D correspondant pour finir par un rendu dans le framebuffer qui sera restitué dans une fenêtre ou directement à l'écran.

 

Voici un schéma simplifié du pipeline actuel d'OpenGL

Image non trouvée !

A partir d'OpenGL 2.0, les shaders sont pleinement intégrés au framework. Les shaders sont des micros-programmes qui s'exécutent à différentes étapes du "voyage" des données dans le pipeline.

C'est donc à partir de la version 3.x d'OpenGL, que les shaders sont largement mis en avant, et que les fonctions du mode dit "immédiat" sont tout simplement supprimées dans le profil "core".

 

Conséquence immédiate, même si les shaders ont des avantages indéniables, la courbe d'apprentissage va se compliquer, car il va falloir assimiler le développement des shaders, le langage GLSL, les techniques ou méthodes (VBO, VAO,...), avant de pouvoir s'attaquer au plus intéressant...

 

Voici des explications concernant:

 

 

Des liens:

The OpenGL Programming Guide

Nehe tutoriels OpenGL

ozone3d

Convertir des shaders HLSL en GLSL

http://sourceforge.net/projects/hlsl2glsl Petit utilitaire qui va convertir votre shader HLSL en GLSL !

 

Pour les anciennes versions OpenGL (avant la version 2.0)

Cours assez complet et très bien fait:

http://www.essi.fr/~buffa/cours/synthese_image/

Pour les plus pressés, mais aussi moins riche:

Le guide du routard OpenGL 1.2


Et d'autres encore qui peuvent être bien intéressant:

http://www-evasion.imag.fr/Membres/Antoine.Bouthors/teaching/opengl

http://prografix.games-creators.org et rechercher le mot openGL

free pascal

Intro, origine/histoire d'openGL :
http://www.linuxfocus.org/Francais/January1998/article15.html

Site officiel d'OpenGL:

http://www.opengl.org/