Space Engineers 2: Rendering Engineering Work
- Landon Townsend
- Oct 23
- 2 min read
Updated: Dec 5
All images taken from Marek's Dev Diary and in game from the VS2 release
Unfortunately, I cannot show before and after comparisons for some of these techniques, due to lack of access to the source code. I have tried to include descriptions when relevant in order to compensate for this.
Raytraced Global Illuminations and Reflections
I prioritized performance, stability, lack of noticeable artifacts and correct "feel," over source of truth accuracy. I would have liked to work on this more, but my attention was pulled to other work when this was "good enough."
This involved a lot of novel work to make it effective in our highly dynamic environment, which requires visual stability within the interiors of moving ships.




Shown below is a screenshot demonstrating the combination of raytraced GI/reflections with non-raytraced direct lighting

Volumetric Clouds, Atmosphere and Sunsets:
The implementation is too complex for me to go into in a quick post, but the visuals speak for themselves. Clouds and atmospheres are both made to work with the transition of the player/camera from the planet surface to space.





Heuristic Anti-Aliased Shadow Sampling
This technique uses quick math on quad groups of sampled shadow texels to approximate edge direction and stretch the resulting elliptical sample. It helps straighten out lines that would otherwise have crooked bumps or lose detail with normal shadow mapping. It's a novel technique. but in hindsight, a bit expensive. However, artists wanted sharp shadows on higher settings, so it worked out with the artistic vision.

Split First/Third Person Character Shadows, Smooth Shadow Sampling
This involves the rendering of extra higher-texel-density shadow maps for the character, and separate maps/stencils so that a third person shadow can render while the character is in first person.


Deferred Light Clustering / Real Time Radius Adjustment
This video shows an implementation of deferred clustering with real time adjustment to light radii in extreme edge cases, to maintain performance.
PBR Material Refactor: Switch From Blinn-Phong to GGX Lighting Model
This involved switching to industry standard GGX model, along with various refactors to the material pipeline. Among these were importance sampled environment maps, and normal variation to roughness mipmap generation, with a pull request submitted to Microsoft's TexAssemble repository for assembling a texture from mipmaps.

Terrain (Collaborative Work)
I stabilized tessellation by generating the mip levels sampled from the displacement map, using the approximate triangle size. This keeps displacement mapped vertices from "wiggling" as the distance changes and tessellation adjusts.

The screenshot below shows the incorporation of noise in material overlap regions, for natural looking transitions between materials.

I was also responsible for the implementation and polish of height blending functionality.

In addition, I contributed various work on things like performance improvements and bugfixes.
Dynamic Armor Bevels
With this novel technique, armor faces on a grid are processed on the CPU and data is sent to the GPU in order to render bevels on edges.
Before:

After:

Stabilization of problematic grate pattern under FSR/TAA
With this implemented, turning FSR/TAA on changes the parallax/cutout/sample bias behavior specifically for these grates, in order to prevent flickering/streaking artifacts and keep a smooth appearance and impression of transparency. It's a novel technique but also fairly simple.





































Comments