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, ...

OpenGLOpen Graphics Library (Développée initialement par Silicon Graphics): C'est une API dans laquelle vous trouvez des fonctions 2D et 3D en temps réelles. Il existe différentes implémentations d'OpenGL comme MESA, une implémentation libre pour X Window. 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 OpenGLOpen Graphics Library (Développée initialement par Silicon Graphics): C'est une API dans laquelle vous trouvez des fonctions 2D et 3D en temps réelles. Il existe différentes implémentations d'OpenGL comme MESA, une implémentation libre pour X Window. en 2 profiles:

OpenGLOpen Graphics Library (Développée initialement par Silicon Graphics): C'est une API dans laquelle vous trouvez des fonctions 2D et 3D en temps réelles. Il existe différentes implémentations d'OpenGL comme MESA, une implémentation libre pour X Window. 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 OpenGLOpen Graphics Library (Développée initialement par Silicon Graphics): C'est une API dans laquelle vous trouvez des fonctions 2D et 3D en temps réelles. Il existe différentes implémentations d'OpenGL comme MESA, une implémentation libre pour X Window. (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 openGLOpen Graphics Library (Développée initialement par Silicon Graphics): C'est une API dans laquelle vous trouvez des fonctions 2D et 3D en temps réelles. Il existe différentes implémentations d'OpenGL comme MESA, une implémentation libre pour X Window.

free pascal

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

Site officiel d'OpenGL:

http://www.opengl.org/