Què conté gl_FragCoord

A GLSL, concretament a l’etapa de processament de fragments, gl_FragCoord és una variable d’entrada que conté els valors de les coordenades relatives de la finestra (x,y,z,1/w) del fragment en questió. A aquesta publicació s’explica en detall quin és el seu contingut i com es poden calcular les coordenades normalitzades de dispositiu (NDC) d’un pixel.
Continuar llegint

Reconstrucció de la posició d’un pixel

De vegades podem necessitar conèixer la posició d’un pixel en espai de càmera des d’un fragment program. Això normalment és necessari en operacions de postprocés, on típicament (després de pintar tota l’escena a un FBO (frame buffer object)en un primer pas), s’envia a pintar un quad que omple tota la pantalla en un segon pas, junt amb informació de l’escena (normalment en forma de textures amb les normals, material, profunditat, etc) utilitzant un fragment program específic que s’encarrega dels càlculs de postprocés.

Aleshores, durant aquest postprocés, cada fragment d’aquest quad es correspon amb una petita porció de la superfície de l’escena pintada amb anterioritat,
tot i que en aquest moment només podem conèixer la seva posició dins el quad pintat.

La pregunta és: Quina era la seva posició dins l’escena original en espai de càmera?
Continuar llegint