@miketuritzin I'm also curious to know how you handle multiple materials/colors. Do you store them in the brick textures with trilinear interpolation when using them, or do you evaluate the SDFs from a BVH passed to the shader at the intersection point of the bricks?
@miketuritzin I suppose that with Falcao normals (tetrahedral method), it's possible to exploit hardware acceleration to sample the four tetrahedral points using trilinear hardware interpolation. I think I'll test this, even if it means sacrificing quality for performance.
@miketuritzin Are you using tetrahedral sampling for calculating normals, as is done in classical SDF raymarching? Personally, I use the smoothing method identified in the Nvidia article, but it seems more resource-intensive because it calls 8 neighboring voxels.
@miketuritzin Are you using the SBS method mentioned in the Nvidia paper? Is it necessary to duplicate the values at the ends of the blocks to avoid reading neighboring blocks and to allow the calculation of normals?
@lu_zero_@carllerche Zig generally uses less memory; it's just that algorithmically, the Rust version isn't the same as Zig's because the AI has optimized the algorithm. This same algorithm would likely be faster and use less memory in Zig.
@miketuritzin Interesting. I imagine that culling by frustum is mainly used with rasterization. I imagine that with ray tracing, the rays must have access to the entire scene, even fragments invisible to the camera, in order to capture reflections.
It's great to code a small project and see your code come to life. I created a small SDF rendering engine, made in 3 days and inspired by the game engine created by @miketuritzin on his YouTube channel; it's starting to take shape. There are still some artifacts to correct...
It's funny to see players logging into my game and having fun when, at the beginning, I was alone fixing bugs and testing the server. Plus, the game is poorly balanced, but they're having fun anyway. 😂
I'm not sure if the game will find its audience, but it was a good opportunity to create my own custom game engine. I plan to use it for a bigger project.
I recently published my first .io game. It runs on a custom game engine in a web browser (WebGL2). The code is written in Zig on both the server and client sides (WASM). I'm eagerly awaiting Zig's support for the ExternRef address space in WASM. I haven't finished the development
@miketuritzin The "ribbon effect" could be almost negligible most of the time and more significant in areas where the level of detail changes, allowing for more localized optimization where necessary.