Dans l'exemple de passe de contour, le rapport de pixels est défini sur 1.
https://github.com/mrdoob/three.js/blob/master/examples/webgl_postprocessing_outline.html#L161
La scène est floue et si nous commentons la ligne et utilisons le ratio de pixels de l'appareil, la scène est comprimée dans le coin inférieur gauche comme la capture d'écran suivante :
/ping @spidersharma03
j'y jetterais un œil
Il semble qu'EffectComposer ne gère pas pixelRatio
qui est défini dans WebGLRenderer
lors de la création de WebGLRenderTarget .
Je suggère d'utiliser la solution de contournement suivante :
effectFXAA
:effectFXAA.setSize = function(width, height) {
this.uniforms.resolution.value.set(1 / width, 1 / height);
};
composer.setSize
avec width
et height
prémultipliés lors de l'initialisation et du redimensionnement de la fenêtre :var size = renderer.getSize();
var pixelRatio = renderer.getPixelRatio();
composer.setSize(width * pixelRatio, height * pixelRatio);
Commentaire le plus utile
Il semble qu'EffectComposer ne gère pas
pixelRatio
qui est défini dansWebGLRenderer
lors de la création de WebGLRenderTarget .Je suggère d'utiliser la solution de contournement suivante :
effectFXAA
:composer.setSize
avecwidth
etheight
prémultipliés lors de l'initialisation et du redimensionnement de la fenêtre :