• Content count

  • Joined

  • Last visited

  • Days Won


heyzxz last won the day on June 11

heyzxz had the most liked content!

About heyzxz

  • Rank
    Advanced Member

Contact Methods

  • Twitter

Profile Information

  • Gender
  • Location

Recent Profile Visitors

826 profile views
  1. heyzxz

    What's next?

    Any plan on light probes? https://docs.unity3d.com/Manual/LightProbes.html I mean use existing modeling IDE (like blender) to edit light probes, then export to bjs...
  2. @phaselock, it looks like a bug, I'll look into it Could you please let me know some more informations like your browser version? system?..
  3. name: PCOL author: Zhengxi Zhang image: please download this one: https://i.imgur.com/qzNqUY0.png Thank you:)
  4. Thank you! And please add.
  5. Thanks for your kind words!:)
  6. Hi Everyone, I recently launched a preview version of my game made with BJS, and you can try it here. It's a 3d billiards game, but currently only Snooker available in this preview version. Hope you'll like it, and have fun. It currently supports these browsers on desktop: Firefox, Chrome, Safari and Edge. (To BJS team: I have added a "powered by babylon.js" in the 'about' page of the game, please let me know if it is allowed to use your logo, and if I have used the right logo, since I just grabbed it from your home page, and converted to png.)
  7. heyzxz

    SubMesh Question

    Thank you
  8. heyzxz

    SubMesh Question

    Hi, Please see the code below: let sphere1 = MeshBuilder.CreateSphere(...); let sphere2 = sphere1.clone(...); ... Questions: Do sphere1 and sphere2 share the same subMesh (in memory)??
  9. Thank you! And sorry I'm not very familiar with Github, does 'PR' means Pull Request? I'll try next time
  10. Hi there, I think this 'break' should be removed, because one userAgent may match multiple items in ExceptionList. For example: a userAgent of Firefox/58 on a Macintosh, currently only 'Firefox/58' handled, the 'Macintosh' is ignored because of the break...
  11. Thank you Deltakosh, and yes it'll be great if you can make these changes in the future updates. But as I mentioned above, things gonna be more difficult when it comes to thinking about the onContextRestored operation for the (real-time) preprocessed textures. For now, just hacking 'engine._gl' isn't enough for me, something inside the InternalTexture._rebuild still needs to be hack(otherwise they can't be restored correctly if context lost/restored really happens )... which is too hacky and terrible I think... So, Finally I'll turn to think about making some kind of offline preprocess tools to fit my requirements instead of hacking bjs too much. And I'll mark this post as solved as I got enough informations I think. Thank you!
  12. God I realized that there is a 'onContextRestored' handling... Things become more difficult now. Maybe I do have to preprocess textures offline...
  13. Hello @Deltakosh, Thanks for your reply . But please let me explain why I need engine._gl instead of using engine API. First, in my project, I want to do some preprocessing for some textrues. These textures are HDR and cubemap. To make it success, I need: 1. Create renderTargetCubeTexture( to draw the preprocessed results onto) with correct formats, currently the builtin 'engine.createRenderTargetCubeTexture' has hard coded the texture forms/type to 'RGBA , RGBA , UNSIGNED_BYTE' (see image below), but I may need 'RGBA32F + RGBA + FLOAT ' to match the HDR outputs; (Please let me know if there is another api can do this ) 2. Another problem is I need to bind framebuffer texture with different mipmap levels. Currently all the 'gl.framebufferTexture2D(...)' calls in the engine has hard coded the last 'level' parameter to 0, that's why I want the 'gl' object and call this function manually with different 'level' values. (I know for webgl1.0 the 'level' must be 0, but I tried for webgl2.0, nonzero levels do supported. And I can take care about the browser compatibilities myself). Well you may guessed what kind of preprocessing things I'm doing now, and yes, it's kind of things that IBLBaker can do: convert a single hdr texture, to irradiance map + radiance(specular) map, and some kind of 'integration' on the radiance map for better roughness look, all in realtime. Why I need to do this: 1. Because "I'm red-blooded and have too much time!"... kidding, because I'm on a MAC, no IBLBaker support; 2. Filesize is a big deal in my project, I need to keep things small. Any way, Currently I'll follow the way which Amarth2Estel mentioned and move forward. Once there is a better way found(or some changes bjs made), I'll get back and fix things up. Thank you guys!
  14. Thank you Amarth2Estel Ye it's a feasible way for some cases, but may not be my choice, because firstly I have to do some manually check like 'canvas.getContext("webgl2") || canvas.getContext("experimental-webgl2") || canvas.getContext("webgl") || getContext("experimental-webgl") ...', which is a little bit cumbersome . Secondly, I'm making custom materials, which means in my case, the 'canvas' should be unknowable. Later Edit: the canvas is knowable, there is a public 'engine.getRenderingCanvas()' , so ignore my 'secondly' above
  15. Hi there, First I know there is nothing private in javascript, but since it is marked as private in the typescript code , I'm just wondering if there is an official api/ or a nice trick to obtain it without breaking the rule...