Bonjour,
Comment on peut enregistrer des donner (float) sur une texture et les récupérer dans le fragment shader?
Merci d'avance
Bonjour,
Comment on peut enregistrer des donner (float) sur une texture et les récupérer dans le fragment shader?
Merci d'avance
passe 1 :
Tu utilise un FBO et tu écris des données dans ta texture.
passe 2 :
tu utilises cette texture avec un fragment shader.
Il faut :
- déclarer une variable sampler dans le shader
- binder la texture sur l'unité de texture i
- envoyer i comme valeur du sampler
- appeler une fonction de texturing dans le shader avec ce sampler
Le nombre réel serait alors stocké en 4 octets (en occupant la place d'un pixel RGBA). Le problème est de relire ces 4 octets sous la forme d'un réel (float) à partir d'un vec4 qui est le retur de la fonction de texture2D.
Merci d'avance
ta texture attaché au pipeline n'est pas forcément du R8G8B8A8, tu peux très bien avoir une texture en R32 et ne lire que la composante x avec ton texture2D.
Vous avez un bloqueur de publicités installé.
Le Club Developpez.com n'affiche que des publicités IT, discrètes et non intrusives.
Afin que nous puissions continuer à vous fournir gratuitement du contenu de qualité, merci de nous soutenir en désactivant votre bloqueur de publicités sur Developpez.com.
Partager