Time Nick Message 09:53 MinetestBot 02[git] 04grorp -> 03minetest/minetest: Minor rendering code fixes (#15399) 13af61de7 https://github.com/minetest/minetest/commit/af61de77773b8cbb37fbd888c77421cf63173dd2 (152024-11-12T09:52:20Z) 09:53 MinetestBot 02[git] 04wrrrzr -> 03minetest/minetest: MainMenuManager: fix FIXME (#15414) 131c92d62 https://github.com/minetest/minetest/commit/1c92d6243fd42291d25798982c1dd1f1bd1013bb (152024-11-12T09:52:37Z) 09:53 MinetestBot 02[git] 04sfan5 -> 03minetest/minetest: Add basic unit tests for collisionMoveSimple 13f916f5d https://github.com/minetest/minetest/commit/f916f5de78c970b55257f38e5d66a6ae34be695f (152024-11-12T09:52:46Z) 09:53 MinetestBot 02[git] 04sfan5 -> 03minetest/minetest: Remove redundant CollisionInfo::plane 139a44d83 https://github.com/minetest/minetest/commit/9a44d835d6380e8e8a8f2b5070899dc8770aa1db (152024-11-12T09:52:46Z) 09:53 MinetestBot 02[git] (3 newer commits not shown) 10:17 MTDiscord https://tenor.com/view/lifting-workout-bonding-me-and-my-dog-doyouevenlift-gif-16764439 10:17 MTDiscord Them biomes been working out 17:17 MTDiscord <_devsh_> @luatic are you the only person working on irrlicht/GL/shaders or are there others? 17:20 MTDiscord I'm definitely not the only person working on it, the fancy effects are coming from other people. I'm currently just doing Irrlicht plumbing I deem necessary. 17:22 MTDiscord <_devsh_> ok but to plumb/extend irrlicht with more GL/GLES its who ? 17:25 MTDiscord devsh: Quite frankly I don't think we presently have a designated graphics person. 17:30 MTDiscord <_devsh_> have you thought of making a pure graphics test bed in GLES 3.1 or WebGPU to test rendering tech/optimizations outside of minetest and then port what works? 17:31 MTDiscord <_devsh_> so you can do this in very short time : https://www.youtube.com/watch?v=40JzyaOYJeY 17:31 MTDiscord <_devsh_> I think @jumanji has his own voxel renderer in Vulkan (Fortran though :shudder: ) 17:33 MTDiscord <_devsh_> also testing perf and regressions on potato hardware is easier like that, than benchmarking irrlicht CPU cruft and raw FPS diff 17:33 MTDiscord https://tenor.com/view/muahaha-evil-laugh-evil-laugh-futurama-gif-4133163 17:34 MTDiscord <_devsh_> cause right now you're doiing research in production, instead of in a testbed nobody in the industry does it that way, the fuck around and find out phase usually happens in small apps 17:35 MTDiscord No not voxel renderer, not done yet, also it's just a generic renderer 17:35 MTDiscord <_devsh_> you don't tear open a large engine with gameplay code and everything and start testing 5 different approaches to rendering 17:35 MTDiscord i agree 17:35 MTDiscord but i wouldn't even say we're quite in the research phase yet 17:36 MTDiscord there's still a lot of obvious refactoring / fixing irrlicht to do, e.g. my current PR (i still have to implement your bounding box calculation suggestion there) 17:36 MTDiscord like, for it to be correct to begin with 17:36 MTDiscord it's a mystery that skeletal animations work at all with the amount of duct tape applied 17:36 MTDiscord <_devsh_> to do skinning, you really need to use UBOs and Buffer Textures correctly first 17:37 MTDiscord having cleaner, correct skinning code is IMO a sensible first step towards doing it on the GPU 17:37 MTDiscord i don't want to dump a 3kloc PR (though most of that would be removals) on the other coredevs 17:38 MTDiscord <_devsh_> dynamic indexing of UBO or worse, Uniform Arrays will work "fine" on Nvidia but crater perf on mobiles and DX10 era GPUs that you apparently still care about 17:38 MTDiscord <_devsh_> adding more uniforms that need to be set, makes every drawcall more expensive 17:39 MTDiscord <_devsh_> thats where your CPU drawcall cost comes from 17:39 MTDiscord yeah you suggested buffer textures, those should be a good option, is there something else i need to know for when i tackle this? 17:39 MTDiscord <_devsh_> irrlicht doesn't have explicit buffers, add them 17:41 MTDiscord <_devsh_> having no explicit IreferencCounted object that maps to a glBuffer like ITexture maps to glTexture is really stone age stuff 17:42 MTDiscord <_devsh_> requires GL 3.1 or GLES 3.2 😢 https://www.khronos.org/opengl/wiki/Buffer_Texture 17:43 MTDiscord Yeah but IIRC 95% of our users have that? I'd hope maintaining inferior CPU skinning for the remaining 5% should be affordable. 17:44 MTDiscord <_devsh_> you're still thinking small 17:44 MTDiscord <_devsh_> you're supposed to completely replace shader uniforms/setConstants 17:44 MTDiscord <_devsh_> which memcpy to UBO or Buffer Texture 17:45 MTDiscord <_devsh_> but remember, just because a device doesn't have a GLES 3.1 or 3.2 feature, doesn't mean it doesn't have the feature as an extension 17:46 MTDiscord <_devsh_> so collect extension string reports not only GLES/GL features! 17:49 MTDiscord <_devsh_> ok this is ridiculous 17:51 MTDiscord <_devsh_> actually looks like GLES supports SSBOs (desktop GL 4.3 feature) more widely than Buffer Textures (desktop GL 3.1 feature) 17:52 MTDiscord well, i gotta get some work done now (unrelated to luanti), i'll return to this and read the rest later. 17:53 MTDiscord <_devsh_> worst case use a UBO like a read only SSBO, create crapton of 16kb or 64kb blocks, then worry about binding the right one and not having one drawcall's uniforms straddle the 16/64kb boundary 17:54 MTDiscord <_devsh_> and just maintain a ring/pool of UBOs to reuse/respec between frames 17:55 MTDiscord <_devsh_> ------- also do you have a "blackhole render" mode ? 17:55 MTDiscord <_devsh_> (its basically a "skip every drawcall" switch) 19:26 Guest85 hello 20:51 BuckarooBanzai !seen gpcf 20:51 MinetestBot BuckarooBanzai: gpcf was last seen at 2022-04-05 15:39:43 UTC on #minetest