Le sous-échantillonnage multiple présente-t-il un avantage?


14

Je suis donc tombé sur ce site et vous pouvez voir ces lignes sur le premier et le deuxième paragraphe:

Pour un effet grossier mais facile, dessinez les parties lumineuses de la scène (par exemple, les sources lumineuses) dans un FBO, puis sous- échantillonnez plusieurs fois en utilisant la minification GL_LINEAR . Pour le rendu final, combinez simplement la scène originale avec les FBO sous-échantillonnés.

Dans l'exemple suivant, la scène d'origine est de 128 x 128 et est sous- échantillonnée 3 fois . Cela nécessite 4 objets framebuffer . La scène d'origine est affichée en haut à gauche et le rendu final en haut à droite.

Y a-t-il une raison pour laquelle je dois sous-échantillonner plusieurs fois (128 -> 64 -> 32 -> 16) plutôt que de le sous-échantillonner une fois (128 -> 16)?

Si vous faites défiler plus, ils le sous-échantillonnent même comme 9 fois. (128 -> ... -> 16 -> 128 -> ... -> 16 -> et ainsi de suite). Pourquoi ne pas le faire comme (128 -> 16 -> 128 -> 16 -> et ainsi de suite)?


Approche vraiment absurde. Brouillez simplement le tampon et sous-échantillonnez avec GL_NEAREST.
transistor09

Réponses:


23

Il y a deux avantages principaux:

Tout d'abord, si vous sous-échantillonnez de plus d'un facteur deux, certains pixels de l'image d'origine n'auront aucun impact sur l'image résultante. En utilisant GL_LINEAR, chaque pixel de destination n'échantillonnera que sur au plus 4 pixels de l'image source; les autres pixels sont simplement jetés. En sous-échantillonnant d'un facteur deux, vous vous assurez que chaque pixel de l'image source a conservé un effet égal sur le calque suivant.

Deuxièmement, les algorithmes discutés sur ce site nécessitent chacun des objets framebuffer; ils sont en fait tous nécessaires, même s'il n'y avait pas de bonne raison de sous-échantillonnage de cette façon. Vous ne pouvez pas ignorer les images 64x64 ou 32x32, car ces images sont utilisées dans le cadre de la construction de l'image de résultat floue gaussienne.

Enfin, si vous lisez l'article, vous verrez qu'il ne préconise pas le sous-échantillonnage des images 9 fois; il sous-échantillonne seulement trois fois, puis effectue plusieurs opérations sur ces images sous-échantillonnées. Les images que vous regardez ne montrent que l'état de ces mêmes 3 images sous-échantillonnées après chaque étape du processus, et non des événements séparés de sous-échantillonnage.


Ah, cela a tellement de sens pour moi maintenant. Je vous remercie.
Greffin28

1
(Soit dit en passant, l'effet de floraison que j'utilise dans mes propres jeux est basé sur la méthode décrite sur la page liée. Personnellement, je sous-échantillonne 5 fois plutôt que 3, car je pars d'une image initiale beaucoup plus grande mais je veux toujours un flou agréable et large .)
Trevor Powell
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.