Outils pour utilisateurs

Outils du site


opengl

OPENGL

Matrice de projection sous OpenGL

Les shaders

Pour avoir accès, dans le fragment shader, aux coordonnées du fragment(futur pixel) actuellement en cours de traitement :

 gl_FragCoord.x : Coordonnée du pixel suivant la largeur,
                  exprimée dans l'intervalle [0,nombreDePixelSurLaLargeur]
 gl_FragCoord.y : Coordonnée du pixel suivant la hauteur,
                  exprimée dans l'intervalle [0,nombreDePixelSurLaHauteur]
 gl_FragCoord.z : Valeur utile pour le Z buffer,
                  exprimée dans l'intervalle [0,1]
 gl_FragCoord.w : L'inverse de la "coordonnée homogène"
 

gl_FragCoord est une built-in variable (https://www.opengl.org/wiki/Built-in_Variable_%28GLSL%29). gl_FragCoord.x et gl_FragCoord.y sont exprimés en pixel de l'image de la caméra. Ces coordonnées sont au centre des pixels. Par exemple gl_FragCoord.x varie de 0.5 à nombreDePixelSurLaLargeur - 0.5.

Pour récupérer les coordonnées de l'image en normalized device coordinates (ndc), exprimée dans l'intervalle [-1,1] :

 x_ndc = gl_FragCoord.x/width * 2 -1.0; // exprimée dans l'intervalle [-1,1]
 y_ndc = gl_FragCoord.y/height * 2 -1.0; // exprimée dans l'intervalle [-1,1]
 z_ndc = gl_FragCoord.z * 2 -1.0; // exprimée dans l'intervalle [-1,1]
 

Pour revenir aux coordonnées dans le repère de la caméra : http://www.txutxi.com/?p=83

Tutoriels sur les Framebuffer object pour faire du render to texture

opengl.txt · Dernière modification: 2015/02/26 18:31 par jcombier