• Content count

  • Joined

  • Last visited

About gamefan

  • Rank
    Advanced Member

Recent Profile Visitors

568 profile views
  1. No!!!! Thank you, sir. Wow, 🤩Uncontainable happiness. Feels so nice.
  2. @JCPalmer @Deltakosh I made a PR 😊. Fixed 1 and 2 with as little change as possible. Tested both cases, I hope this addresses the issues correctly.
  3. @JCPalmer 1.) Yes, createFromBase64String not usable while compressed Textures being enabled. I will see if I can make a PR, will be my first. 😀Exciting. 2.) Even when onload from original call is passed, onLoad is not added to the loaded observable in case of a fallback. But I am guessing allowing this is not straightforward, and could affect other cases. 3.) Will try the pvrTextTool. Actually I have the gulp task run through all my folders to make these compressed textures. This treated the cubeTextures the same way it treated other images. @Deltakosh I have 1 and 2 working with some changes (not sure if they are fool proof).
  4. Hi, Started using compressed textures in our projects. Came across three possible bugs, not sure about the last one. PG: 1 and 2 are demonstrated in the above PG. Comment line #5 to compare results when not using compressed textures. 1.) Incorrect texture returned when Engine is set to use a ktx format texture and Texture is made via Texture.CreateFromBase64String. Possibe fix: bypass textureFormatInUse when buffer is available in Engine.CreateTexture 2.) Callback passed to Texture is not fired when CreateTexture falls back to url passed on not finding its ktx counterparts. Need this to finish a "change texture" flow. Possible fix: Ignore fallback argument and create onLoadObserver in Engine.CreateTexture 3.) When engine is set to use ktx format , CubeTexture looks for one ktx file instead of 6. I don't know if the cubeTextures in ktx formats are to be composited into a single file. I use this gulp task to create compressed textures. Got a work around for 1 and 2 but 3 is beyond me. Want this to support 360 tours on low spec devices.
  5. gamefan

    Disable Render Targets and clear frame

    My head says no, but it probably is 😅. I am fine with your solution but wonder why no one else came across this? 🤔
  6. gamefan

    Disable Render Targets and clear frame

    Man!! I was afraid of this 😅. Any chances this will be incorporated in a future release?
  7. gamefan

    Disable Render Targets and clear frame

    Reflections made by MirrorTexture and ReflectionProbe. We want something like what material.reflectionTexture = null would do. (As disabling render targets won't update the reflection texture in the next render frames) StandardMaterial.ReflectionTexturesEnabled = false is the right thing to do but I don't want to disable reflection textures that aren't using render targets. I think scene.renderTargetsEnabled should render/hide the render target texture. What affect this has now is equivalent to (an imaginary) scene.pauseRenderTargets.
  8. gamefan

    Disable Render Targets and clear frame

    Hi Deltakosh, Thank you for your reply but this is not what I want. I want the render targets textures to disappear after renderTargets optimization is done. The scene looks awkward when the render target textures just stay there at their last rendered frame. It looks awkward even for renders at intermittent frames with the use of refreshRate. I want a result similar to what "StandardMaterial.ReflectionTextureEnabled = false" does. Thanks
  9. Hi, I find renderTargetsOptimization very helpful. Is there a way a renderTarget frame can be cleared so that the last frame before render targets are disabled doesn't stay? I can set ReflectionTextureEnabled = false, but I want to have reflection textures that don't use render targets. In this playground I have disabled render targets after 3 seconds but the ball reflection remains static Thanks
  10. Firstly, Congrats for completing 3.2 . We were looking forward to quite of a lot of features implemented here. This isn't a bug, but in my opinion I think the merge meshes should continue merging the rest of the meshes in the list when it encounters an invalid mesh instead of throwing an error. We have a model load workflow which on load finds the center and extent of the model using mergeMeshes. Few of our models have empty container like meshes that are parent of meshes that have real vertex data. And this breaks our App when vertexData.validate() throws "Positions are required". There is an easy fix for this - I made a pass before mergingMeshes like so: for (var i = 0; i < meshes.length; i++) { //only pass meshes that have valid position data if (meshes[i].getVerticesData(BABYLON.VertexBuffer.PositionKind)) clones.push(meshes[i].clone("clone" + i)); } var combinedMesh = BABYLON.Mesh.MergeMeshes(clones); This is potentially a breaking change as it works right with 3.1
  11. Hi Deltakosh, I should have done this earlier: There is an alert that fires on scene ready. If you comment out the lines specified, executeWhenReady triggers the alert but not when shader material is applied to a submesh.
  12. Hi, I am planning to update from 3.1 and was trying the latest preview. Some of my babylonjs files did not render because I checked that the shader material did not override isReadyForSubMesh and the base class's method always returned false. This made my app stuck here because the scene would never be ready: scene.executeWhenReady(function() { engine.runRenderLoop(function() { scene.render(); }); }); Please help.
  13. I can confirm (with much relief) , that this is case with 3.0.7 but the current preview (3.1-beta2) renders correctly. I will have to check everything before continuing with this preview release, but it looks great. Moreover , we have nearly doubled the potential FPS. What a win!!!!. 1000 points to everyone.
  14. Hi @Deltakosh, No luck with computeWorldMatrix. I already tried centerWorld, but using that also causes offsets. I would be needing the center in world space but sometimes the meshes that are combined have a parent, in that case the center should be relative to the parent. I will see if transforming worldCenter to parent space would work. And its strange because I tried my code in playground and it seems to work right. I guess there is something else.