Fichier texte en cours : OpenGL.txt






- OpenGL Architecture Review Board : ARB

- OpenGL specification : the Khronos group

- The first step in the graphics application is sending the vertex data to the GPU for rendering

- Vertex stream : les données des vertex analysées et calculées par le GPU

- GL_POINTS : pour faire le rendu des particles par exemple

- ..._STRIP : pour connecter entre-elles une série de primitives

- Rasterizer : convertie les primitives depuis l'ensemble des primitives en fragments (pour devenir
des pixels d'écran)

- GL_ALPHA_TEST : fragments can be discarded if the alpha value is below a certain threshold

- Depth : si le fragment échoue au test de profondeur (GL_DEPTH_TEST) avec la fonction
de comparaison, le fragment est ignoré

- Stencil : The stencil test can be used to discard fragments that fail a stencil comparison operation
based on the content of the stencil buffer

- Color Buffer Blend : glEnable(GL_BLEND) ; un fragment source (correspondant à ceux affichés), un fragment destination
(correspondant au framebuffer), une fonction de blending. Cette opération est effectuée en mélangeant les couleurs et les valeurs alpha
du fragment source + le fragment destination

- Dither : une forme de bruit pour simuler une palette de couleur plus large en mélangeant les couleurs de proche proximité

- Geometry shader : can be used to process primitives of one type and generate primitives of another type

- OpenGL 4.0 : these three new stages form the Tesselation stages

- Tesselation : 3 étapes, Tesselation Control Shader puis le Tessellator puis le Tessellation Evaluation Shader
le Tessellator n'est pas programmalable

- GL_PATCH : type de primitive pour la Tesselation (stream of vertices)

- Tesselator : détermine combien de vertices à générer, dans quel ordre le faire, et quelles sortes de primitives construire
en sortie

- FreeGLUT : alternative à GLUT (qui est délaissé) - fenêtrage, entrées clavier et souris

- GLEW : accès aux coeurs d'OpenGL et ses extensions qui ne sont pas disponibles dans les fichiers d'en-tête du compilateur !

- GLM : librairie mathématique

- PCH : PreCompiled Header

- GLEW_STATIC : macro definition is required when we are linking against the GLEW static library

- The wglew.h is required for access to the wglSwapInterval function (pour désactiver la vsync pour que le programme
tourne à vitesse maximale). Instead of waiting for the vertical refresh which is usually 60 Hz !

- #ifdef _WIN32 #endif pour coder uniquement une portion sous Windows

- OpenGL32.dll under the \system32 folder

- (time.h) : this header file contains definitions of functions to get and manipulate date and time information

- Pour pouvoir utiliser OpenGL il faut télécharger les derniers drivers de sa carte graphique

- GLM_FORCE_RADIANS : force GLM à utiliser les radians en terme d'angle

- Vertex Array Object : can be used to bind all of the vertex attributes and the index buffer into a single argument

- au début du vertex shader program : #version 330 core (specifies which version of GLSL this shader will be compiled with)

- layout(location=0) in vec3 in_position;
layout(location=1) in vec3 in_color;

         - bind the vertex position stream to attribute ID 0 and the vertex color stream to attribute ID 1

         - the in modifier indicates that this variable is input data


- out vec4 v2f_color;

         - the out modifier indicates that this is variable will be used as output from this shader

- le mot-clé "uniform" indique que la valeur de la variable sera la même pour chaque invocation du programme shader !

- void main() { [contenu du shader...] }

- w-component of the vector : 1 si c'est un point vector : 0 si c'est un direction vector.

- l'ordre des vertices envoyé au GPU a de l'importance. Les primitives sont supprimées lorqu'elles ne sont pas
en face de la caméra. On nomme cette condition "winding order". The default winding order of front-facing triangles is counter-clockwise.

-