Vousk-prod.

Members
  • Content count

    902
  • Joined

  • Last visited

  • Days Won

    5

Vousk-prod. last won the day on December 19 2015

Vousk-prod. had the most liked content!

About Vousk-prod.

  • Rank
    Advanced Member

Contact Methods

  • Website URL
    http://vousk-prod.net

Profile Information

  • Gender
    Not Telling
  • Location
    Strasbourg - France

Recent Profile Visitors

1,343 profile views
  1. Ouuuh, scary!
  2. And don't forget the real purpose of a rendering engine: doing evil tasks behind the scene, for the sake of the user. A process pushed GPU side is, for most users, a garanty that it is optimised and do not require too much hard work to be used. That's valuable. Of course, it also means more difficult to understand and adapt if needed, but it is specific cases, not usual usage.
  3. Thank you @adam . I added img.crossOrigin = "Anonymous" to the images I load in the DynamicTexture and now it's OK !
  4. Thank you @adam But I don't get something: Our server is configured to deliver crossorigin content. The other server (from where the public html page is served) loads, in that html page, our scripts and images from our server. So we shouldn't have CORS problem. The other server should also define CORS rules? Or there is something inside the source code (when loading the image used in DynamicTexture) we need to set to avoid tainted canvas?
  5. Hi everyone, I'm using DynamicTexture in a projet. It works like a charm in our servers, But now we delivered the project to an other server and we get the following error: In Chrome console: babylon.3.0.max.js:9192 Uncaught DOMException: Failed to execute 'texImage2D' on 'WebGL2RenderingContext': Tainted canvases may not be loaded. at Engine.updateDynamicTexture (babylon.3.0.max.js:9192:22) at DynamicTexture.update (babylon.3.0.max.js:42260:41) In Firefox console: SecurityError: The operation is insecure. babylon.3.0.max.js:9192 Engine.prototype.updateDynamicTexture babylon.3.0.max.js:9192:13 DynamicTexture.prototype.update babylon.3.0.max.js:42260:13 In Edge console, SCRIPT5022: SecurityError babylon.3.0.max.js (9192,13) with a link pointing to https://msdn.microsoft.com/query/dev12.query?appId=Dev12IDEF1&l=FR-FR&k=k(VS.WebClient.Help.SCRIPT5022) It looks like the culprit line in BJS is: this._gl.texImage2D(this._gl.TEXTURE_2D, 0, internalFormat, internalFormat, this._gl.UNSIGNED_BYTE, canvas); I can't reproduce the bug in the Playground, I can't even reproduce it on my own servers... Any idea what the problem could be ?
  6. Try putting your code in scene.executeWhenReady BABYLON.SceneLoader.ImportMesh("", this.serverUrl, encodeURIComponent(fileName + ".obj"), this.scene, (mesh) => { scene.executeWhenReady( function() { meshContainer = mesh.clone(name, undefined, false); resolve(meshContainer); }); }); (code needs to be adapted to be able to reach scene, mesh, etc)
  7. Was this related to line ending? Because I once noticed that when line ending is linux style for the vertex file, BJS cannot compile this kind of line: // varying varying vec2 vUV; Error is 'vUV' : undeclared identifier To work properly, the code has to be: // varying varying vec2 vUV; (with a blank line)
  8. That's just amazing!!!
  9. Mhm, you're not supposed to say "thanks", we are.
  10. Hello, I've just noticed that when cloning a material, the name and id of the clone are wrong, they are the same as initial object instead of those set by user. See PG : http://www.babylonjs-playground.com/#JZMNQ7
  11. Oh and this explains why sometimes the .babylon is still the old one even when enableSceneOffline is set to false aftewards. And you see, with string as version, if the cache process is correctly managed by BJS, a CI machine will be able to automaticaly set the manifest (with the hash of the .babylon file for instance) and no need then to bother manually with the manifest file! That would be awesome.
  12. @davrous Forget the hash part. User will fill the value with anything he wants (hash or other data, no matter). The idea is just to allow the version value to be a string instead of an integer. So users will be able to manage those manifest with better efficiency (for instance by using some hash of 3D and textures files, or anything else, even in an automated way in continuous integration context or whatever). Just check the string value, if new one is different from previous one, simply continue with your previous behavior (download .babylon & texture associated based on the 2 boolean values).
  13. This may be related to and / or
  14. Great trailer, I'm really curious now!!
  15. Hello everyone! I'd like to discuss a little bit about the manifest that goes with the .babylon files. For now, it contains an "arbitrary" version number (integer), and the loader checks if this number is greater than previous one to determine if 3D data an textures should be loaded from indexedDB or network. Wouldn't it be more usefull if this version number could be a string instead of integer (with simple comparison between new string and previous one)? So we could, for instance, put the hash of the .babylon associated, allowing a more standard way to check if file need to be taken from cache or not. If people can put the string they want, any kind of uid could be used to version the 3D and/or the textures associated. That would be really usefull. Oh, and now I'm talking about manifest, I'm not totally sure for that but I think I've noticed several times that if we once have the .babylon cached in indexedDB and then set "enableSceneOffline" : false the .babylon file is still taken from cache on not loaded from server. Could it possibly be a bug?