Vyhľadajte odpoveď

Vyhnite sa podvodom s podporou. Nikdy vás nebudeme žiadať, aby ste zavolali alebo poslali SMS na telefónne číslo alebo zdieľali osobné informácie. Nahláste prosím podozrivú aktivitu použitím voľby “Nahlásiť zneužitie”.

Ďalšie informácie

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 odpoveď
  • 3 majú tento problém
  • 2 zobrazenia
  • Posledná odpoveď od 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.

Upravil(a) cor-el dňa

Všetky odpovede (1)

more options

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