methos69
Messages postés3Date d'inscriptionjeudi 3 juin 2004StatutMembreDernière intervention28 octobre 2004
-
14 oct. 2004 à 15:29
damienlann
Messages postés7Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention16 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???
cs_djl
Messages postés3011Date d'inscriptionjeudi 26 septembre 2002StatutMembreDernière intervention27 novembre 20047 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é)
zoom1984
Messages postés17Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention26 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.
zoom1984
Messages postés17Date d'inscriptionmercredi 13 octobre 2004StatutMembreDernière intervention26 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.
damienlann
Messages postés7Date d'inscriptionvendredi 17 novembre 2000StatutMembreDernière intervention16 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.