Deferred Rendering Project WT EngineMG

I implemented simple screen space decals, but the code needs a bit cleanup. They are not projected by using an orthographic projection, but rather a unit size cube. When rendering the cube, it gets transformed back to object space. Then, since we have a unit length cube, we can calculate the texture coordinates by simply adding 0.5f to the coordinates.

1 Like

is that the league of legends mountain drake? :smiley:

I don’t remember where I downloaded the model, so I don’t know :sweat_smile:

Only had to add the following line to make everything work again in the latest MonoGame version :slight_smile:

graphics.GraphicsProfile = GraphicsProfile.HiDef;

Great work!

I will try to find some time on the weekend to write about the current state of implemented techniques / features of the renderer :slight_smile:

Current implemented techniques / features are:

  • Directional Lights
  • Spotlights
  • Projective Lights
  • Point Lights
  • Capsule Lights
  • VSM
  • ESM
  • Particles
  • Soft Particles
  • Bloom
  • DOF
  • Fog
  • Exponential Fog
  • Lens Flare
  • SSAO
  • SSR
  • Scene Fringe
  • Vignetting
  • POM
  • Distortion
  • XBR
  • Linear Depth
  • Keyframe Animation
  • Camera Shake
  • Stereoscopic Rendering
  • Sky Box
  • Debug Shape Rendering
  • GUI
  • Water Effect
  • Fade Scene
  • Dot Effect
  • Gray Scale
  • Median Filter
  • Night Vision Effect
1 Like
  • Deferred ScreenSpace Decals (albedo)

Deferred ScreenSpace Decals (albedo, normal)


Some Exponential Fog

… and some more

what parts of the gbuffer do you manipulate with POM? albedo & normal? Or depth too?

Only albedo and normal.

What is “EFog” ? Never saw this among: Distance Fog, Height Fog, Volume Fog, etc. Is it the vanilla fog ?

Perhaps not the best abbreviation… I should have named it Exponential Fog. Meaning the Fog gets thinner in greater height.

1 Like

After a longer break I am now working on the project again, just for fun :slight_smile: Trying to improve the code base and adding some stuff like a better GUI and using HDR lighting for example.