Blightspire graphics contributions

September 2024 - Current day

Shadows

  • Shadows are implemented in the classic shadowmap way using poisson sampling for noisy style.
  • Static and dynamic geometry have their own separate shadowmap in order to improve performance.

Blightspire


Stylized art

  • To compensate for the lack of artists in our team I implemented two effects aiming at solving our asset-like look of our game.
  • Pixelization:
    • Using the depth buffer in order to determine different pixel levels across different distances, hence compensating for detail loss that other more common pixelization implementations may have.
  • Quantized color palette:
    • Snapping the colors towards the closest ones in a color palette, adding a bit of dither and mixing between the original and the new color using the exposed settings.

Blightspire


SSAO and FXAA

  • SSAO is implemented in a standard fashion using hemispheres to check against geometry.

Blightspire

  • FXAA is implemented as the industry standard in order to fix some of the aliasing problems.
Blightspire FXAA

Procedural sky

  • The dynamic sky is creating as a screen space effect using rays from the camera and fractal brownian noise to sample the clouds.
  • Implementation based on: https://www.shadertoy.com/view/wslyWs

Blightspire


Screen door transparency

  • Worked on screen door transparency implementation
  • Used it as enemy death effects

Blightspire


Debug renderer

  • Created a vulkan debug line rendering pipeline.
  • We can push 3D lines positions towards this pipeline to render them.
  • Jolt Physics pushes it’s debug lines in our debug renderer too, allowing for collision visualizations, ray casts etc.

Blightspire