Deferred Planar Reflection

Specular highlights are nothing more than reflection of light sources. With planar reflections, reflective surfaces can be rendered even more realistic.

Matrix.Reflection (New Plane (0, 1, 0, 0))

With help of the generated Matrix, the ViewProjection can be mirrored. The Y-Position of the plane depends on the position of the reflective SceneObject.

This has the great advantage that all SceneObjects and Pointlights can be rendered without modifications. The only thing you have to do is using front culling.

Create Reflection Map
Draw all SceneObjects with reflected ViewProjection to all deferred RenderTargets and calculate the lighting.

render the reflected objects

reflected lit objects

Draw normal Scene
Draw all SceneObjects as usual to all deferred RenderTargets. Objects with reflected material are writing a reflection intensitiy value to Alpha-Channel.

normal rendered scene

normal lit scene for visualization

Final Post Processing
The created reflectionmap, the stored reflection intensity and all other informations are used as resource to calculate the final lighting.

use reflection map as input resource

final lit planar-reflected scene

Planar Reflected Material


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s