Bonjour !
Je me retrouve embêté avec la création d'un effet extrêmement simple à partir d'une texture SDL en openGL4 : une bordure à une texture.
En effet, tout fonctionne mais alors ce n'est pas optimisé pour un sou.
Je me focalise sur l'affichage du texte :
Voici mon souci
Si je demande à openGL d'afficher la texture simplement, j'obtiens le résultat de gauche.
(le texte est généré à partir de SDL_ttf puis transformé en texture openGL et déformé par les shaders.)
Si je zoome, j'obtiens ceci:
Pour afficher la partie de droite, le logiciel utilise alors la technique suivante pour créer le rendu :
Si (x,y) désigne la position de l'image à afficher:
DEBUT
Affiche cette texture en noir à la position en (x - 1,y)
Affiche cette texture en noir à la position en (x +1,y)
Affiche cette texture en noir à la position en (x,y - 1)
Affiche cette texture en noir à la position en (x,y +1)
Affiche cette texture en vert à la position (x,y)
FIN
Le debugger NVIDIA me le montre bien:
Sans bordure, l'affichage est moins voyant, aussi je me focalise sur la partie avec bordure.
Peut on gérer une bordure similaire de manière moderne ? (5 appels au même shader pour afficher une même texture, c'est ... du médiéval !)
Pourriez vous m'indiquer la démarche m'indiquant comment je devrais m'y prendre ?
Cordialement
Partager