The VBexEngine is built as a Deferred renderer. Objects are rendered in a MultiRenderTarget and all necessary information as Color, Normal and Position is saved separately. In a post-out shader, all collected information is used to create the final frame. The big advantage of this method is that every pixel has only to be calculated once.
To save bandwidth some data is not stored 1:1. The normals are compressed to range 0-1. Only ViewZ is saved. To make the light calculation easier all final normals and positions are in WorldSpace.