Three.js: SMAAPass: textura marcada para atualização, mas a imagem está incompleta

Criado em 29 out. 2018  ·  4Comentários  ·  Fonte: mrdoob/three.js

Descrição do problema

Ao usar o SMAAPass, um aviso é registrado:
THREE.WebGLRenderer: Texture marked for update but image is incomplete
Este aviso ocorre porque Image.complete é falso, após definir Image.complete parece que é assíncrono.

Inclua também um exemplo ao vivo, se possível. Você pode começar com estes modelos:

Versão Three.js
  • [] Dev
  • [x] r97
  • [] ...
Navegador
  • [x] Todos eles
  • [ ] Cromada
  • [ ] 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

Isso parece um hack para mim. Considere um padrão mais convencional:

var image = new Image();
image.src = dataURL;

var texture = new THREE.Texture( image );

image.onload = function () {
    texture.needsUpdate = true;
};

Todos 4 comentários

Você está certo. Uma correção simples pode ser semelhante à seção de código a seguir. Idealmente, seria colocado após esta linha em SMAAPass :

var self = this;

setTimeout( function () {

        // assigning data to HTMLImageElement.src is asynchronous (see #15162)
        // using setTimeout() avoids the warning "Texture marked for update but image is incomplete"

    self.searchTexture.needsUpdate = true;
    self.areaTexture.needsUpdate = true;

}, 0 );

Você gostaria de fazer uma RP com as mudanças?

Isso parece um hack para mim. Considere um padrão mais convencional:

var image = new Image();
image.src = dataURL;

var texture = new THREE.Texture( image );

image.onload = function () {
    texture.needsUpdate = true;
};

Na verdade, isso é melhor 👍

Vou alterá-lo para retornos de chamada onload.

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

fuzihaofzh picture fuzihaofzh  ·  3Comentários

jens-duttke picture jens-duttke  ·  3Comentários

zsitro picture zsitro  ·  3Comentários

yqrashawn picture yqrashawn  ·  3Comentários

boyravikumar picture boyravikumar  ·  3Comentários