~ Past: rendering lead @figma.com, indie VR dev, founder @ Workflowy, search backend @ Google, Quake modder
miketuritzin.com
The engine is based on dynamic SDFs, and the video describes how it works and what it makes possible.
Link in the reply!
This is my first YouTube video and it took forever - please repost!
(This started as a physics test and was pretty entertaining.)
(This started as a physics test and was pretty entertaining.)
Rewind changes!
(because every edit is non-destructive)
I'm doing this right now at the end of enemy waves for game balance reasons, but I'll likely play with letting them pile up in some scenarios.
Rewind changes!
(because every edit is non-destructive)
I'm doing this right now at the end of enemy waves for game balance reasons, but I'll likely play with letting them pile up in some scenarios.
So there's a benefit to reducing random-access reads below the cache-line size, but not below 32 bytes.
blog.doubleword.ai/what-happens...
So there's a benefit to reducing random-access reads below the cache-line size, but not below 32 bytes.
blog.doubleword.ai/what-happens...
Live-coding of UI is like building a Shadertoy - fast visual feedback gets you into a flow state.
I've been using ImGui's "background draw list" functionality (which
Live-coding of UI is like building a Shadertoy - fast visual feedback gets you into a flow state.
I've been using ImGui's "background draw list" functionality (which
(It uses a roguelike structure combining mining and base defense, with destruction / world modification as a big aspect of both.)
(It uses a roguelike structure combining mining and base defense, with destruction / world modification as a big aspect of both.)
youtu.be/4AQycxtpPno?...
youtu.be/4AQycxtpPno?...
I love all the zany things that are done in 2D games, and this one is particularly creative.
www.youtube.com/watch?v=Htal...
I love all the zany things that are done in 2D games, and this one is particularly creative.
www.youtube.com/watch?v=Htal...
There's a singularity where the 3 triplanar weights are equal that extends along the capsule's length in some orientations.
1/
There's a singularity where the 3 triplanar weights are equal that extends along the capsule's length in some orientations.
1/
If you don't handle it correctly, you'll see seams at the discard/no-discard boundary.
1/
If you don't handle it correctly, you'll see seams at the discard/no-discard boundary.
1/
This is really simple to implement - just hold onto the previous PSOs after hot-reload, and then add a shortcut to flip between new and old, which is instant!
1/
This is really simple to implement - just hold onto the previous PSOs after hot-reload, and then add a shortcut to flip between new and old, which is instant!
1/
Rather than watching files for changes, tracking dependencies between them, etc., I just implemented a ctrl+R shortcut that reloads ALL shader pipelines ...
1/
Rather than watching files for changes, tracking dependencies between them, etc., I just implemented a ctrl+R shortcut that reloads ALL shader pipelines ...
1/
I've decided to go for a textural and slightly hand-painted look. Currently using color and normal maps, might consider roughness as well.
1/
I've decided to go for a textural and slightly hand-painted look. Currently using color and normal maps, might consider roughness as well.
1/
A "convex combination" of the vertices of a convex shape (vertex weights that are non-negative and sum to 1) yields a point inside the shape.
Barycentric coordinates of triangles are a specific example of this.
A few useful properties:
- A convex polyhedron is the convex hull of its vertices.
- One can also be defined as the intersection of half-spaces defined by a set of planes (one per face).
1/
A "convex combination" of the vertices of a convex shape (vertex weights that are non-negative and sum to 1) yields a point inside the shape.
Barycentric coordinates of triangles are a specific example of this.
It was taking a long time to generate SDF collision mesh chunks on startup for Debug builds in particular. I'd prefer not to have to cache this data,
It was taking a long time to generate SDF collision mesh chunks on startup for Debug builds in particular. I'd prefer not to have to cache this data,
AI-assisted coding discourages thinking this way, but I think that can be a trap, as code is still a liability.
AI-assisted coding discourages thinking this way, but I think that can be a trap, as code is still a liability.
So in the common case of a brick that uses only 1 material, no material weights need be cached at all!
[cont]
Rather than baking material properties directly, I now store a material palette per brick and bake blend weights.
This means that material property blending is "deferred" to render-time, ...
1/
So in the common case of a brick that uses only 1 material, no material weights need be cached at all!
[cont]
Surely no inappropriate pictures will be drawn using this laser. Surely.
Surely no inappropriate pictures will be drawn using this laser. Surely.
a & b == ~(~a | ~b)
So NOT the bits you want to AND, then atomic-OR, then NOT the result. The OR'd bits obviously work with no changes.
(Could also do this with atomic-AND.)
a & b == ~(~a | ~b)
So NOT the bits you want to AND, then atomic-OR, then NOT the result. The OR'd bits obviously work with no changes.
(Could also do this with atomic-AND.)