No exemplo de passagem de contorno, a proporção de pixel é definida como 1.
https://github.com/mrdoob/three.js/blob/master/examples/webgl_postprocessing_outline.html#L161
A cena é difusa e se comentarmos a linha e usarmos a proporção de pixels do dispositivo, a cena é comprimida para o canto inferior esquerdo como a seguinte captura de tela:
/ ping @ spidersharma03
Eu vou dar uma olhada
Parece que o EffectComposer não lida com pixelRatio
que é definido em WebGLRenderer
quando cria WebGLRenderTarget .
Eu sugiro usar a próxima solução alternativa:
effectFXAA
:effectFXAA.setSize = function(width, height) {
this.uniforms.resolution.value.set(1 / width, 1 / height);
};
composer.setSize
com width
e height
pré-multiplicados durante a inicialização e redimensionamento da janela:var size = renderer.getSize();
var pixelRatio = renderer.getPixelRatio();
composer.setSize(width * pixelRatio, height * pixelRatio);
Comentários muito úteis
Parece que o EffectComposer não lida com
pixelRatio
que é definido emWebGLRenderer
quando cria WebGLRenderTarget .Eu sugiro usar a próxima solução alternativa:
effectFXAA
:composer.setSize
comwidth
eheight
pré-multiplicados durante a inicialização e redimensionamento da janela: