Pesquisar no apoio

Evite burlas no apoio. Nunca iremos solicitar que telefone ou envie uma mensagem de texto para um número de telefone ou que partilhe informações pessoais. Por favor, reporte atividades suspeitas utilizando a opção "Reportar abuso".

Saber mais

Cannot load webgl texture using "data:image/jpg;base64" style URI. This is forcing me to download texture files explicitly, rather than embed them in my binary buffer.

  • 1 resposta
  • 3 têm este problema
  • 2 visualizações
  • Última resposta por knorretje

more options

I am creating a webgl texture using following technique:

var textureBuffer = new Uint8Array(this.modeldataBuffer, sourceImage.data.offset, sourceImage.data.size);

var image = new Image();
var binary = '';

for (var i = 0, l = textureBuffer.byteLength; i < l; i++) {
     binary += String.fromCharCode(textureBuffer[i]);
}

image.src = "data:image/" + sourceImage.type + ";base64," + window.btoa(binary);

Now use this image to create WebGL texture, which fails and throws following error:

Error: uncaught exception: [Exception... "Failure arg 5 [nsIDOMWebGLRenderingContext.texImage2D]” nsresult: “0×80004005 (NS_ERROR_FAILURE)” location: “JS frame :: loadmodel.js:: line 446″ data: no]


This used to work in FF5, but seems to have been broken in FF6. Is this intentional (i.e. part of cross-domain security fix) or a bug?

This will force me to download individual textures...much more slower than loading it from a single binary file.

I am creating a webgl texture using following technique: <pre><nowiki>var textureBuffer = new Uint8Array(this.modeldataBuffer, sourceImage.data.offset, sourceImage.data.size); var image = new Image(); var binary = ''; for (var i = 0, l = textureBuffer.byteLength; i < l; i++) { binary += String.fromCharCode(textureBuffer[i]); } image.src = "data:image/" + sourceImage.type + ";base64," + window.btoa(binary);</nowiki></pre> ------------------------------------------------------------ Now use this image to create WebGL texture, which fails and throws following error: Error: uncaught exception: [Exception... "Failure arg 5 [nsIDOMWebGLRenderingContext.texImage2D]” nsresult: “0×80004005 (NS_ERROR_FAILURE)” location: “JS frame :: loadmodel.js:: line 446″ data: no] This used to work in FF5, but seems to have been broken in FF6. Is this intentional (i.e. part of cross-domain security fix) or a bug? This will force me to download individual textures...much more slower than loading it from a single binary file.

Modificado por cor-el a

Todas as respostas (1)

more options

I think this is part of the cross-domain security fix for web-gl textures. See cross domain texture