Three.js: OutlinePass não funciona com proporção de pixel 2

Criado em 21 abr. 2017  ·  3Comentários  ·  Fonte: mrdoob/three.js

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:
image

Versão Three.js
  • [] Dev
  • [x] r84
  • [] ...
Navegador
  • [ ] Todos eles
  • [x] Chrome
  • [ ] Raposa de fogo
  • [] Internet Explorer
SO
  • [x] Todos eles
  • [ ] Janelas
  • [ ] Mac OS
  • [] Linux
  • [] Android
  • [] iOS
Requisitos de hardware (placa gráfica, dispositivo VR, ...)
Bug

Comentários muito úteis

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:

  1. Crie um manipulador de tamanho de conjunto personalizado para effectFXAA :
effectFXAA.setSize = function(width, height) {
    this.uniforms.resolution.value.set(1 / width, 1 / height);
};
  1. Chame 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);

Todos 3 comentários

/ 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:

  1. Crie um manipulador de tamanho de conjunto personalizado para effectFXAA :
effectFXAA.setSize = function(width, height) {
    this.uniforms.resolution.value.set(1 / width, 1 / height);
};
  1. Chame 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);
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

makc picture makc  ·  3Comentários

jlaquinte picture jlaquinte  ·  3Comentários

scrubs picture scrubs  ·  3Comentários

clawconduce picture clawconduce  ·  3Comentários

seep picture seep  ·  3Comentários