There's a lot to say about that, but at a high level, I'm using a "brickmap" that stores a pointer in each cell (which can be null) to the brick, which is allocated from an atlas. And then I use a clipmap centered around the camera with a number of levels for LOD.
31.10.2025 19:09 β π 1 π 0 π¬ 0 π 0
Making an animation illustrating sparse allocation of SDF bricks:
- White line is the analytic SDF curve.
- Sparsely-allocated cells (and distance samples) are shaded.
- Yellow line in the reconstructed SDF curve from cached samples (via bilinear interpolation of distances).
30.10.2025 19:33 β π 37 π 5 π¬ 1 π 0
Just learned that the equivalent of "warp"/"wave" in ispc is a "gang".
"Gangs of Program Instances" has a certain menacing ring to it π
30.10.2025 17:49 β π 5 π 0 π¬ 0 π 0
Yep, my engine is SDF-based.
29.10.2025 20:19 β π 0 π 0 π¬ 0 π 0
(In case you were wondering, the character depicted is Sir Potato Face.)
28.10.2025 18:38 β π 0 π 0 π¬ 0 π 0
My foes when I confront them
28.10.2025 18:38 β π 29 π 2 π¬ 2 π 0
Indeed
23.10.2025 04:12 β π 1 π 0 π¬ 0 π 0
A lesson I've learned: digging holes into shiny red stuff always ends up looking pretty grossπ€¨
22.10.2025 23:58 β π 9 π 0 π¬ 2 π 0
It works! The dumping code is very short, and no loading code is needed (other than the code I copy/paste).
16.10.2025 19:58 β π 0 π 0 π¬ 0 π 0
I want to save/load scene data in my engine, but I don't want to implement a real system for this yet (partly laziness, partly don't want to commit to a design).
So my quick solution is to dump literal C++ code that creates all scene objects. Then copy/paste into my init codeπ
16.10.2025 19:58 β π 0 π 0 π¬ 1 π 0
Sadly I don't think I will be able to model exactly Mr Potato Head as I removed ellipsoids from my engine.
14.10.2025 21:55 β π 1 π 0 π¬ 0 π 0
From my notes about stuff to add in the video about my engine (lol)
14.10.2025 21:55 β π 2 π 0 π¬ 1 π 0
Another funny thing is that the overlay in the UI here looks intentional but is actually just the debug rendering of the capsule shape :D
14.10.2025 19:59 β π 2 π 0 π¬ 0 π 0
Playing around with a "tunnel gun" that can open a tunnel in front of you that can be looked into or moved through.
This type of thing is really simple in my engine - just spawn an SDF capsule subtraction that is locked to the player's view.
14.10.2025 19:57 β π 22 π 0 π¬ 2 π 0
Good ideas. I haven't thought about the "mound" part too much yet but you're right there is definitely interesting design space there.
10.10.2025 20:01 β π 1 π 0 π¬ 0 π 0
Ha, good question. The end game is ... a game. This started as a technical exploration, and right now I'm putting together a video on what I've built so far, so I'm re-exploring some older stuff for the video.
Then it's full steam on game dev!
10.10.2025 19:05 β π 2 π 0 π¬ 0 π 0
Playing around more with the Donut County vibes - but this time you have both a portable hole and a portable mound.
And the hole grows bigger when it consumes cubes, because that's what holes do (obviously).
09.10.2025 21:42 β π 19 π 1 π¬ 3 π 0
Feeding the hole.
09.10.2025 01:58 β π 8 π 0 π¬ 0 π 0
Herding cubes, HD remaster.
02.10.2025 19:53 β π 28 π 1 π¬ 1 π 0
Anyway, I'm glad this is done, as it was a pain in the ass to implement :)
/end
01.10.2025 21:15 β π 0 π 0 π¬ 0 π 0
It's also worth mentioning that the clipmap LOD I use for SDF rendering added more complexity to this and I had to rethink my approach a couple times.
Basically, you can only render LODs to the cached shadow map that are guaranteed to be available within its footprint.
7/
01.10.2025 21:15 β π 1 π 0 π¬ 1 π 0
YouTube video by Rendering Engine Architecture Conference
REAC 2025: Pushing 60hz. Shipping Indiana Jones and The Great Circle.
The general approach I took was inspired by this recent presentation on Indiana Jones and the Great Circle (link is to the relevant timestamp):
youtube.com/watch?v=0QYE...
They also time-slice updates to the shadow map, which I don't do currently.
6/
01.10.2025 21:15 β π 1 π 0 π¬ 1 π 0
I'm not currently rendering any non-SDF geometry, but the plan is to render that on top of the SDF shadow maps each frame, as it will be much cheaper to render. The SDF shadow maps thus don't need to be re-rendered even if other parts of the scene are changing.
5/
01.10.2025 21:15 β π 1 π 0 π¬ 1 π 0
The net effect of this is that shadow map rendering is generally taking less than 0.5ms per frame.
I was worried about the cost of shadows because ray-marching 3D textures (as the SDF is rendered) is not particularly cheap. This solution makes shadows quite cheap.
4/
01.10.2025 21:15 β π 1 π 0 π¬ 1 π 0
When the camera moves, the cascades are re-rendered in chunks. I could scroll the new chunks in smoothly, but for now they just pop in.
Any modifications to the SDF are projected into cascade space, and only the affected rectangle is re-rendered.
3/
01.10.2025 21:15 β π 0 π 0 π¬ 1 π 0
This video shows the world-space cascades centered around the camera. If the camera hasn't moved outside of the current shadow chunk and the (SDF) scene hasn't changed, no shadow map rendering happens at all.
2/
01.10.2025 21:15 β π 0 π 0 π¬ 1 π 0
Finished work on directional light shadows (for now!).
This took a while because I didn't implement "normal" cascaded shadow maps (via frustum slices) but rather world-space cascades that are updated in chunks as the camera moves, and incrementally when the scene changes.
1/
01.10.2025 21:15 β π 10 π 0 π¬ 1 π 0
Good to hear.
01.10.2025 20:43 β π 1 π 0 π¬ 0 π 0
I haven't used either of these but I am intrigued in particular by NVRHI.
01.10.2025 19:25 β π 0 π 0 π¬ 1 π 0
Graphics programmer. Likes anything Metal Gear Solid.
fauder.github.io
Also @DaKangz@mastodon.gamedev.place
Graphics plumber
@Google
. WebGPU, ANGLE, Vulkan and 3D stuff. He/him. Opinions expressed are my own.
The Forge Interactive, Inc. is a think-tank for advanced real-time graphics, specializing in custom game engines, rendering solutions, and offering expert game engine consulting and programming services.
π: theforge.dev/
βοΈ: github.com/ConfettiFX
Activision, previously at Unity, Bungie, AMD/ATI
all opinions my own.
Real-Time Rendering Enthusiast. But let's be honest - all rendering. and some ML.
Working on Drift: Space Survival 1.0 and Dome Keeper 5.0 (Multiplayer Update). Dad of 3. Open to co-development opportunities.
Research scientist at Adobe. PhD in Computer Graphics. Founding member of Newhead Studio. Interests: implicit surfaces, physics simulations, sustainability.
Web: aparis69.github.io
Game: hitmenparty.com
=> Opinions are my own.
He/Him. Write in π¨π΅ π¬π§
Computer graphics PhD student @ IRIT. Ex-intern: Adobe, Unity
Unreal enthusiast
Creator of MeshBlend & MeshPack
https://meshblend.lervik.com/
Rendering Hardware Interface Lead π @Guerrilla
Blog: https://danglingpointers.com
Asset Cooker (build system for game assets): https://github.com/jlaumon/AssetCooker
π«π· in π³π± fighting for what's cheese
Researcher, teacher and activist somewhere at the intersection of landscape perception, graphics programming, open source, and climate change.
Working on VR landscape visualization with Godot. Maintaining Geodot: https://github.com/boku-ilen/geodot-plugin
Making Core Keeper, Kyora, & Pugstorm γ«ζΊγγ£γ¦γγΎγγ
@corekeepergame.com @kyoragame.bsky.social
CTO at JECO; prev FSR 4/3/2 Lead at AMD, GPU Drivers at AMD, Codeplay doing debuggers, compilers and optimizations for various folks. FPGA/Electronics/DIY hobbyist. Own opinion. https://domipheus.com/
Senior developer at Microsoft. Demoscener. Babylon.js core team. Technical Emmy Award winner with Golaem. AFOL. Personal views here!
Senior VFX/Graphics Programmer working @ Rockstar Games
All posts/opinions/views my own :)
Senior Graphics Engineer, Light Transport @unity.com.
Check out my stuff at http://github.com/pema99 and https://pema.dev
Interested in all things graphics, VR, language dev and functional programming.
@pemathedev on Twitter/X.
Mosa Lina. PRODUCER 2021. qomp. 10mg. Gutwhale. ord. Handulum. A lot of other games. he/him. Check out my website: https://stuffedwomb.at/