Wednesday, January 16, 2013

Real-time GPU path tracing: Cubed City

A new test with the Brigade path tracer, showing 1024 physics driven dynamic cubes in a street scene. It's incredibly fun to fly through a photoreal scene in real-time while tons of cubes are falling from the sky in slow motion and being able to change all the lighting and materials at the same time. The beauty of how instancing works in Brigade is that moving hundreds or even thousands of rigid objects happens for free, with almost no impact on the rendering performance. Brigade also doesn't care much about how many polygons these rigid objects contain: a 100K poly Stanford dragon will render nearly as fast as 3K poly Utah teapot. This opens up a lot of possibilities: you could for example render scenes with hundreds of spaceships flying around in an extremely detailed procedurally generated landscape. Dealing with non-rigid meshes like animated characters is a bit harder for a path tracer, because acceleration structures need to be updated every frame, but we have a solution to that problem as well (that's something for another post :) In the meantime, enjoy the video and screenshots below:

720p video:

Wednesday, January 2, 2013

Real-time GPU path tracing: Physics dragons 2

The following video accompanies the screenshots from the previous post:


It shows 1024 dynamic instances of a Stanford dragon model of 100k triangles each, for a total of 100 million triangles, path traced with Brigade in real-time. Brigade easily allows path tracing of several billion triangles in real-time (we tried 4096 randomly spinning instances of the Asian city model which contains over 400k triangles, and the framerate was surprisingly fluent). This is impossible with OpenGL or DirectX. This is the prime reason why games must switch to a pure ray tracing or path tracing approach (hybrid raster/ray tracing will just not work) if game developers want to have scenes with several hundred million triangles filling the screen. And that's not even taking the perfect soft shadows, depth of field, reflections, refractions, arbitrary BRDFs and color bleeding into account.