Shadows: Part..?

Hello again! It’s been just over 2 months since my last post. Back then I mentioned my (day, real, paying) job was occupying pretty much every brain cell I had, so I decided to park SR while I worked through that. It was never far from my thoughts though. Last week I jumped back in to take a look at something that had been lurking in the deep recesses of my mind. ...

August 31, 2026 · 3 min

Project: Untitled Space Shooter

I’m ready to press ahead with with a project that’ll help build out the engine. As mentioned in the last post, now I have an integrated physics engine and can do collision detection and rigid body simulation, that unlocks actual playable game mechanics. I’m still somewhat limited, no mesh deformation or animation/playback systems yet. Untitled Space Shooter I started this game, or at least a version of it, in Unity back in 2022. ...

June 16, 2026 · 5 min

Ignite The Light

Having access to a physics engine is like opening pandoras box on a project like Static Rectangle (and my ADHD). There are so many new and cool things it unlocks. Even simple (and accurate) collision detection leads to real gameplay. Simple shooters and platformers etc. which is something I’ll be experimenting with. Before that though, I thought I’d muck about making cool scripts. I cannot explain why, but for some reason fireworks came to mind when I thought about physics, which is pretty strange because there isn’t really much about a (runtime) firework that requires simulation. Unless you want to factor in wind shear and/or particles interacting with each other (which you wouldn’t want to do for this type of effect) the entire thing can be done parametrically. ...

June 9, 2026 · 5 min

Falling Into Place

Buckle up kiddos I never really watched The Big Bang Theory… I’ve had physics engine integration on my mind for a while now. At one point I was toying with the idea of rolling my own, but quickly dashed that idea. Why? Because they are incredibly complex, specialised and highly optimised. I simply don’t have the expertise or time to build something comprehensive even if I did. ...

June 3, 2026 · 12 min

A Little Atmosphere

I’ve yet again made pretty significant changes, some of these are demonstrable but as per usual much is infrastructure, design and refactor. The stuff you can’t see that takes time, but lets things progress, move and scale freely… until it doesn’t and I need to rinse-and-repeat. Line Renderer Take-Two I have refactored the LineSegmentRenderer to fit the new renderer/engine design. This renderer broke when I was working on the deferred rendering pipeline and it further diverged when I implemented the entity component system. ...

May 27, 2026 · 5 min

Setting the Scene

I’ve been wanting scenes with more complexity for a while but there were a few stumbling blocks to overcome first. Prefabs A prefab packages up a set of asset components, such as mesh + material + script, so instead of entities repeating the same mesh and material block, it can reference a prefab and only override what it needs to. Asset Packages Until now the scene description described everything directly, the geometry paths, material descriptions, scripts, and component data all dumped inside the JSON file. ...

May 14, 2026 · 3 min

It's All In The Scripts

It’s been a few weeks since my last post, though work on StaticRectangle has been steady. The pin I put in the renderer last post didn’t even last the full length of that post. Since then, I have made good headway with transparency and dielectrics, the latter on par with shadow-level annoying. Here is a (broken) teaser I’ll leave the specifics of that for another post. ...

April 9, 2026 · 4 min

A Whole New World

I have put a pin in the Renderer for now, it’s in a good spot do that I feel. 📌Bonus Content! Hello, me again. I know I only posted this yesterday and I’m aware of what the previous sentence says, but… earlier today I opened this post on my desktop and noticed how aliased things were (the retina display makes it less obvious on my Macbook). I had disabled MSAA when I was working on SSGI because there were a lot of resources that needed to be multi-sampled. For a deferred renderer, other techniques for anti-aliasing are better such as Temporal Anti-Aliasing (TAA) and AI boosted methods like Deep Learning Anti-Aliasing (DLAA). The latter isn’t something available to me (yet). ...

March 11, 2026 · 6 min

One Step Forward, Two Steps Deferred

This post is going to be dense. It’s the summation of the last month or so of work on StaticRectangle (sans PBR materials covered in my last post). Let’s start with the results and discuss how we got there. Cornell Box Test Scene Pop Out h toggles the Controls ~ opens the terminal Mouse look with left/right mouse buttons w, a, s, d to move Space Bar fly-up, Left Ctrl fly-down Change the Render Pass in Render Options Enable Show Lights in the Viewport to select Lights to tweak properties etc. Select objects to change properties Foward vs Deferred Rendering To properly implement indirect lighting (and the other screenspace effects I had bodged til now), I needed to move away from a primarily forward renderer, to a hybrid-deferred one. ...

March 3, 2026 · 9 min

Lets Get Physical

I’ve been quite busy the last couple of weeks, the other day a popup on my MacBook alerted me to an increase of 46% in screen-time. In my last devlog I had turned my sights from shadows to shaders and had implemented a Blinn shader. The next logical step was PBR materials. Change Log Static Rectangle v0.0.10 ✦Implemented PBR material ✦Implemented EnvLight and HDR image-based lighting [1] ✦Added an optional 'skybox' render pass ✦Added a final composite pass for tone-mapping etc. ✕Removed AmbientLight (superceded by EnvLight) [2] ~Refactored lights to descriptor-based approach ✦Implemented screenspace reflections ✕Fixed race conditions in pipeline creation of the LineRenderer ✦Improved materials to support UV properties (scale, offset, tiling etc.) ~Refactored UI controls [1] I’ll briefly touch on this but it really deserves it’s own post which I’ll do next time. Same goes for Screenspace Reflections (SSR) [2] I had only just added this when I was working on the Blinn shader. I also just finished refactoring the Light too, these things happen. ...

February 20, 2026 · 4 min