Shader de lens distortion rajoute une bordure colorée aux surfaces planes

correction d'aberration chromatic

a marqué ce sujet comme résolu.

Bonjour,

J’essaye d’avancer sur un projet VR (avec openHMD) dans lequel j’affiche une vidéo sur une surface plane. Malheureusement, j’ai parfois une déformation des bords selon l’angle de vision (ça dessine des dents) et l’apparition de bordures bleues et rouges alors que la vidéo ne comporte aucune de ces couleurs (aberration chromatiques.)

Mon pipeline de rendu fait le rendu de l’oeil gauche, puis celui de l’oeil droit, et c’est lors de la dernière étape que les deux sont composés et que l’effet de lentille s’applique, faisant apparaître le défaut.

Sur l’image suivante, on voit l’image avant composition à gauche et l’image après composition à droite. Bien sûr j’ai triché parce qu’il n’y a plus de distorsion mais seulement la correction des aberrations chromatiques. En revanche, le même problème apparaît lorsque tout est activé, et reste présent voire amplifié (surtout pour le bleu) quand on utilise le casque.

Aberration chromatique à droite

(il faut voir la ligne rouge en haut de l’image).

Le seul problème causé par l’absence de la correction d’aberration chromatique est que l’image est plus floue, ce qui est gênant en VR mais beaucoup moins que des formes dont le contour clignote en rouge dès qu’on utilise une texture.

J’utilise le shader proposé par openHMD pour le moment : https://github.com/OpenHMD/OpenHMD/blob/master/src/shaders.c. Rien d’autre n’est dessiné à part le plan.

Est-ce qu’il y a une solution pour supprimer ces bordures en gardant la correction des aberrations chromatiques, étant donné qu’elles n’arrivent pas sur le rendu du plan mais sur la composition après ?

Connectez-vous pour pouvoir poster un message.
Connexion

Pas encore membre ?

Créez un compte en une minute pour profiter pleinement de toutes les fonctionnalités de Zeste de Savoir. Ici, tout est gratuit et sans publicité.
Créer un compte