Saturday, June 26, 2010

3D TV and dynamic surface caching

Just a thought I wanted to share about rendering lighting into a virtual texture (dynamic surface caching).

Compared to deferred rendering, it should be slower in the worst case.
But the worst case will always be bounded by the size of the page cache texture x the number of lights per page.
The best case is much better because lighting could theoretically be cached per page, as long as the lights that touch that page don't move or change.

However, unless you're moving *a lot* of lights around on screen, dynamic surface caching might always be faster than deferred rendering when rendering the scene multiple times.
Which is what you'd need to do when creating 3D for a 3D TV.

This is because when you're done with rendering the lighting into the page cache texture, you only need to render the scene as if you're rendering the geometry with only one texture, period.

Of course I'm simplifying this a little bit, because in the real world you also have post processing.

But it's still an interesting property ..