Miolith
@miolith.bsky.social
🇨🇵 French programming dork stumbling into computer graphics, currently VR/AR engineer. Look at my cool site https://miolith.com/
Custom sun position and procedural sky box for my #voxel engine. Added this to the single compute shader the engine runs which has now 900 lines of code - which is starting to get a bit ridiculous
My Slang shaders are about 10% faster when compiled to spirv with -O0 rather than -O3 😭 how
I don't know anything about voxel terrain generation so I just throw in a bunch of random formulas and see how it goes
Today on 🚀 blazingly 🚀 fast 🚀 voxel editor ™️ we're editing blazinglion voxels 🚀 in real time featuring humongous ellipsoids The trick is that the dynamic ellipse you see when I drag my mouse is just a raymarched ellipse SDF that I render as voxels by clamping the ray to the nearest voxel position
Found this idea of recycling empty voxels in dense voxel grids to store the distance to the nearest voxel in each of the 6 directions. With this new addition to my engine I can now have real time brute force path tracing at reasonable framerate on my 10 yo dusty GPU
Decided to raytrace everything in a single compute shader in my voxel engine, it's just easier to share light data between static world grid and dynamic entities like that The entities are just a 3x4 matrix transform and a 3d texture. I first ray intersect their AABB and raymarch the 3d texture.
Added the undo feature to my voxel editor. The undo history has only a depth of 1 for the moment because I'm not sure how I will handle a history of dozens of voxel grids on the GPU yet
Adding entity modeling to my #voxel editor. Entities are 3d textures rendered with fast voxel traversal and the editing process is 100% compute shader as I found that fast and convenient. I'm just really apprehensive about the moment I'll have to implement the Ctrl+Z feature.
Experimenting with compute shaders editing that 100x100x100 3D texture 🥸
Added moving voxels entity to my engine. This is a cube mesh rendered with a fragment shader that casts ray on a 3d texture. No idea if this is efficient I just copied the idea from Teardown
I believe it's common in c++ to implement your own span<T> type to have a std::initializer_list constructor (unlike std::span), but I also like to have a span<void> specialization that allows any span type to be passed as an argument without bothering with templated functions
Added moving voxels entity to my engine. This is a cube mesh rendered with a fragment shader that casts ray on a 3d texture. No idea if this is efficient I just copied the idea from Teardown
They don't want you to know but this trick makes your app 10x faster
I still don't know how lambda captures work in C++ so instead i'll stay ignorant and just do this
3 weeks after I started learning to draw ( based on httr's work)
I hope you all enjoy my assert macro. In debug mode it shows the stack trace and add a debugger breakpoint. In release mode [[assume]] allow the compiler to optimize based on assumptions about the program's state. Don't let people tell you this is a UB hazard, you should push that to prod NOW
Tunnel vision. Written in 572 characters. Source code www.shadertoy.com/view/t32yD1 #shader #glsl #animation
Another screenshot of my voxel editor. The voxels are very cheap to raymarch so it wasn't hard to add shadows
That voxel editor starts to look quite good ☺️ #voxel #computergraphics #vulkan #c
Working on a real time voxel editor to edit the world of my game that has a ton of tiny voxels I implemented this in Vulkan & C++ because I presumably enjoy torturing myself and I use a sparse 64-tree to store the voxels + raycasting in a compute shader for rendering. #voxel #computergraphics
An oddly specific shader fan art of Escape Simulator, enjoy You can find the source code here www.shadertoy.com/view/w3BGWR
Just some lighting and sine based fbm experiments www.shadertoy.com/view/t3s3R8