dart:web_gl: RENDRE AVERTISSEMENT: texture associée à l'unité de texture 0 n'est pas restituable
J'obtiens le message d'erreur [.WebGLRenderingContext]RENDER WARNING: texture bound to texture unit 0 is not renderable. It maybe non-power-of-2 and have incompatible texture filtering or is not 'texture complete'
quand je lance mon application web dans dartium. J'ai essayé de résoudre ce problème de deux jours, dont une réécriture complète du code, Mais je ne peux pas isoler le problème.
Je pense que le problème réside dans ce morceau de code, cependant.
void main() {
...
var texture = gl.createTexture();
var image = new ImageElement();
image.onLoad.listen((e) {
gl.bindTexture(webGL.TEXTURE_2D, texture);
gl.texImage2DImage(webGL.TEXTURE_2D, 0, webGL.RGBA, webGL.RGBA,
webGL.UNSIGNED_BYTE, image);
gl.texParameteri(webGL.TEXTURE_2D, webGL.TEXTURE_MAG_FILTER, webGL.NEAREST);
gl.texParameteri(webGL.TEXTURE_2D, webGL.TEXTURE_MIN_FILTER, webGL.NEAREST);
gl.bindTexture(webGL.TEXTURE_2D, null);
});
image.src = "tex.png";
...
}
tex.png est 32x32
Des idées sur ce qui est le problème?
N'gl.generateMipmap(gl.TEXTURE_2D); - il vous aider?
Il n'a pas. Et n'est-ce pas nécessaire uniquement lorsque vous définissez un paramètre de mappage?
Il n'a pas. Et n'est-ce pas nécessaire uniquement lorsque vous définissez un paramètre de mappage?
OriginalL'auteur lightandlight | 2014-02-22
Vous devez vous connecter pour publier un commentaire.
Immédiatement après le code dans ma question que j'avais tenu la texture et envoyer le sampler uniforme. Ce n'était pas parce qu'il a été exécuté avant que l'image chargée. Pour résoudre ce problème, j'ai mis les appels à lier la texture et de dégager des éléments dans le onload de la fonction:
qui fait que l'image est chargée.
Avant, il suffit d'attribuer le onload de rappel, puis exécuter les commandes suivantes - qui a impliqué de liaison de la texture - mais parce que l'ordinateur est très rapide, il avait déjà tenu la texture et essayé de le dessiner avant que l'image a fini de se charger.
Je vais garder cela à l'esprit, merci
OriginalL'auteur lightandlight