Search Support

Avoid support scams. We will never ask you to call or text a phone number or share personal information. Please report suspicious activity using the “Report Abuse” option.

Learn More

Lolu chungechunge lwabekwa kunqolobane. Uyacelwa ubuze umbuzo omusha uma udinga usizo.

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 baphendule
  • 3 zinale nkinga
  • 2 views
  • Igcine ukuphendulwa ngu 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.

Okulungisiwe ngu cor-el

All Replies (1)

more options

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