Environment render test

sensate 101 Sep 12, 2011 at 09:00


Lastest test of scene and character management system for my hobby renderer.
I’m currently nailing down the core of my render system. This is a quick update of some pretty screenshots of HBAO, bokeh dof, FXAA and some other misc improvements to the renderer.

Thanks to Rafael Grassetti for mechaGirl and Stefan Morrell for the Ministry environment.

- I had a huge amount of performance problems with my SS,SSS and linked list OIT pathways when using MSAA, so I implemented FXAA, which is a really cute aa approach for something as composite heavy as flux.
- I ended up implementing my own version of HBAO, nothing major, but it performs a little better and looks a little nicer. (I really need to setup a blog to talk about this). I’ll probably post some more on this in the next month.
- Bokeh effect is based on the awesome work of mjp, http://mynameismjp.wordpress.com/
I ended up writing a version to do correct DOF with alpha blending using the OIT buffer.

Cascaded Light Propagation Volumes.
Omnidirectional shadows for point lights.
New particle engine.
Another Optimization Pass (I think I’m about 2/3rds as fast as I should be right now).

Sidenotes (SLI Performance):
- If you are working with SLI and UAV’s, take heed of the nvidia best practices guide, *always* clear your UAV’s before use in a frame.
static const UINT clearValueUINT[4] = { 0, 0, 0, 0};
context->ClearUnorderedAccessViewUint (_uavView, &clearValueUINT[0]);

  • Undocumented in the SLI best practices, but equally as important:
    If you bind using OMSetRenderTargetsAndUnorderedAccessViews, ensure that you follow with a call to unbind using OMSetRenderTargetsAndUnorderedAccessViews setting the number UAV’s you bound to NULL. If you do not do this, the previously bound UAV’s remain bound and the driver will attempt to copy the UAV data between your devices (irregardless of how many times you try and clear them :p ).



I’m open to questions / comments / criticism.

0 Replies

Please log in or register to post a reply.

No replies have been made yet.