RODINA

Dev Update: Windows!

I’ve updated the Dev Build on Steam with some exciting new changes!

As you know, the current milestone is Cockpit Mode, which involves, among other things, a viewscreen. This update contains the technical features necessary to make this work: Holoscreen Windows!

Now you can see the entire Universe from inside your ship!

Holoscreen

To try it out, switch to the Dev Branch in Steam, enter the ship editor, and place a few Holoscreen Entities in your ship layout. They will act as windows.

A few notes:

* I had to disable MSAA anti-aliasing for technical reasons (I can explain below). You’ll see jaggies, but I will fix this before releasing the milestone.

* Please don’t worry that you can see your ship from inside itself. I’ll work it out before release.

* The Holoscreen models are ugly and temporary.

Enjoy!

Technical Notes

* The windows are implemented as portals using the stencil buffer. They are an exciting feature which eventually could be used not just for cockpit mode, but also for mirrors and (one day) wormholes / portals.

* Internally, I had to refactor the “geometry collection” render stage, to allow for greater control over what is rendering when (“First, render the portal, then render the whole exterior, then the whole interior”, etc). The new system is awesome- much cleaner, more powerful, and easy to read than what I had before.

* The game uses a logarithmic depth buffer for the extreme distant depth precision needed at planetary scales. Since this is implemented in the pixel shaders, it doesn’t work great with MSAA. It left artifacts on the interior tile pieces, and so I used to turn off the log depth buffer every time the player went inside. (You may have noticed that there were lines in the wall that disappeared when you closed the airlock- that’s why!) With the way the portals work, it’s better if everything is a unified system, so after hemming and hawing I’ve disabled MSAA. I will implement FXAA, which will hopefully play nice with the log depth buffer, before the next release.