Supersampling

methos69 Messages postés 3 Date d'inscription jeudi 3 juin 2004 Statut Membre Dernière intervention 28 octobre 2004 - 14 oct. 2004 à 15:29
damienlann Messages postés 7 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 16 juin 2006 - 16 juin 2006 à 12:12
bonjour,
je veux effectuer du supersampling en opengl pour l'antialiasing sans utiliser les accelerations hardware ( aucune extension ARB, WGL )
mais je ne vois pas comment implementer ca sous opengl??

Faire un render texture de grande taille puis le plaque sur un poly gone en 2D???

help me, please
je ne vois pas de solution

4 réponses

cs_djl Messages postés 3011 Date d'inscription jeudi 26 septembre 2002 Statut Membre Dernière intervention 27 novembre 2004 7
14 oct. 2004 à 15:47
je suppose que tu fais un glreadbuffer apres le rendu, mais pour afficher l'image, la solution du placage de texture sur un polygone est trop couteuse, il faudrais pour chaque rendu charger l'image en memoire video

regarde a la limite si ya pas un putpixel ou un truc plus specialisé pour afficher une image en plein ecran (pour que ce soit optimisé)
0
zoom1984 Messages postés 17 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 26 février 2005
26 oct. 2004 à 06:13
Un bon coup de blur !

1/ Tu rends une scène sur une texture

2/ Tu affiche un quad mappé par cette texture plusieurs fois sur le frambuffer, en additif et avec un léger décalage. Par exemple tu affiches quatre fois le même quad avec des décalages en X et en Y de (-0.5,0.5), (0.5,0.5), (0.5,-0.5), (-0.5,-0.5) ( en pixels ). Ca te fait quatre quads donc tu mets à 0.25 l'alpha pour que l'additif te donne un facteur 1. Ne pas oublier de mettre le trilinéaire.

Si tu est pervers, tu peux rendre cette deuxième étape de la même manière sur une autre texture, et recommencer sur la première texture etc ...

Si tu veux avoir un blur plus important, une optimisation consiste à d'abord rendre un blur sur une dimension puis de l'utiliser pour faire un blur dans l'autre dimension. Exemple pour un blur de 8*8 pixels. Méthode brutale : 64 rendus. Méthode optimisée : 16 rendus.
0
zoom1984 Messages postés 17 Date d'inscription mercredi 13 octobre 2004 Statut Membre Dernière intervention 26 février 2005
26 oct. 2004 à 06:26
Et si tu veux utiliser une matrice 3x3 avec des coefficients positifs, tu peux utiliser la même méthode avec des décalages de -1,0,1 pixels en X et en Y et avec l'alpha de chacune des 9 passes = poid de la passe dans la matrice/poid total de la matrice.
0
damienlann Messages postés 7 Date d'inscription vendredi 17 novembre 2000 Statut Membre Dernière intervention 16 juin 2006
16 juin 2006 à 12:12
[auteurdetail.aspx?ID= 359334 zoom1984]  à dit:
Tu affiche s un quad mappé par cette texture plusieurs fois sur le
frambuffer, en additif et avec un léger décalage. Par exemple tu
affiches quatre fois le même quad avec des décalages en X et en Y de
(-0.5,0.5), (0.5,0.5), (0.5,-0.5), (-0.5,-0.5) ( en pixels ). Ca te
fait quatre quads donc tu mets à 0.25 l'alpha pour que l'additif te
donne un facteur 1.<hr size ="2" width="100%" />Ca ca ressemble plus a du Jittering qu'a du supersampling.
0
Rejoignez-nous