Pierre Glibert

  • Content Count

  • Joined

  • Last visited

About Pierre Glibert

  • Rank
    Advanced Member

Contact Methods

  • Website URL
  • Twitter

Profile Information

  • Location

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

  1. Hello community There is something new here ( bad new ) : https://www.anandtech.com/show/12894/apple-deprecates-opengl-across-all-oses What that mean for webgl ? I hope webGPU or Google NXT will come soon for the next generation of webgl. https://webkit.org/blog/7380/next-generation-3d-graphics-on-the-web/ https://github.com/google/nxt-standalone Have a nice day
  2. Hi @noalak My brother send you a test scene and some comments in previous post. Can you help us ? Do you need something more ?
  3. hi @noalak I will send you a test scene when it's ready Thanks for your help.
  4. Hi @Deltakosh In the meantime, is it possible to make a quick correction to correct the compression to 100% for keeping a good quality ? ( ex : metallic/roughness map is to much compressed ) Thanks in advance, Pierre.
  5. Thanks @Deltakosh I added a comment on the issue : https://github.com/BabylonJS/Exporters/issues/62
  6. Hi community After an export from 3dsmax to gltf, I saw that my metallic/roughness map is to much compressed in jpeg. That create bad artefact on my render. Secondly, I saw that my color map switch from jpeg to png. I have no transparency, it's not necessary in my case. I prefer to keep a little compression for time loading reason. Is there a way to correct this ? Is it possible to add an option like a checkbox "compress", on the exporter, to not compress or compress images ? Thanks for your help. Pierre.
  7. Yes but impossible to do if the first part is not possible to apply ... That should be a big change and it break the code. It's a different way to link textures to material for rendering ...
  8. hello @Deltakosh I will simplify my code because I can't do what I want. I need too much solutions that will break the code. For exemple, the only solution to resize a texture is create all size of texture and update url at this moment. The tool createResizedTexture return a RTT ... So I need to make a loop in scene.materials and use it on all channels to apply it. ( Not really optimized compared to an array of textures) The risk is to optimize the same textures more that once time. To prevent this, I can create a new class to reference all textures to know if it's already optimized... But it's a new class above the texture class. That mean I need an Material observable that return the material and the channel updated if the user add a new textures on the fly. For me, it's not a solution. Perhaps later. Anyway, perhaps this will interest you : https://github.com/pierreglibert/Extensions/blob/master/gradingSceneOptimizer/ts-optimizer/userInfos.ts Thanks for your help during all of this time and happy 11000 posts ! Ps : In the previous post, the '.updateSize()' was an exemple of an new fonction to resize the texture and switch it directly. It was not the current updateSize that change the size of the texture and not the size of the content.
  9. Hello everyone, It's impossible to know where is the error when we use sceneLoader : http://www.babylonjs-playground.com/#155HJ6#1 Is it possible to fixe it ? Thanks
  10. hi @Deltakosh I saw that assetManager use "IAssetsProgressEvent" for onProgress function : https://github.com/BabylonJS/Babylon.js/blob/master/src/Tools/babylon.assetsManager.ts#L149 It give us the number of task loaded but it will be cool to have the data loaded in stream like SceneLoaderProgressEvent : https://github.com/BabylonJS/Babylon.js/blob/a86a04b640f8f25bb4a1ed86067ce735a404979b/src/Loading/babylon.sceneLoader.ts#L2 https://github.com/BabylonJS/Babylon.js/blob/master/src/Tools/babylon.assetsManager.ts#L694 If we add onProgress (type : SceneLoaderProgressEvent ) on all task type and replace "IAssetsProgressEvent" on assetManager, it will be possible to do that. we need onAbort function too to cancel task. It's better for user experience. Do you think it's possible to change it ? Thanks in advance PS :https://doc.babylonjs.com/babylon101/particles#gpu-particles Awesoooooome work EDIT : I want to talk about performance with you. At this moment, BABYLON work like this : Material.diffuseTexture = texture // ( type texture ) why not use an index like this with a setter and getter : /** * in MATERIAL class */ private _cacheDiffuseTexture: number; private _scene: Scene; // setter set diffuseTexture(newTexture: Texture){ this._cacheDiffuseTexture = newTexture._cacheIndex; } // getter get diffuseTexture() { if(this._cacheDiffuseTexture) { return this._scene.textures[this._cacheDiffuseTexture]; } return null; } /** * in TEXTURE class */ private _cacheIndex: number; private _scene: Scene; // example of updateSize function updateSize(size: number, dispose? : boolean) { scene.textures[this._cacheIndex] = new BABYLON.Texture(...); this.dispose(); } With this method, we can easily switch texture on the fly. For exemple, if we need to update ALL textures, we just need to do this : for(var i = 0; i < scene.textures.length; i ++) { scene.textures[i] = scene.textures[i].updateSize(512); } I did the exemple with scene.textures but we can apply this on several things in BABYLON. Of course, It's just an idea. Perhaps, it's already done or wrong method In fact, I tell you that because I saw this : https://github.com/BabylonJS/Babylon.js/blob/master/src/Materials/Textures/babylon.internalTexture.ts#L341
  11. Yes exactly. I work on the new optimizer that will replace the old. The easiest way to explain what I do is to read the doc. I should have told you before All doc is here : https://github.com/pierreglibert/Extensions/tree/master/gradingSceneOptimizer Little old demo : demo.mp4