Monday, July 22, 2013

Real-time path tracing: ultra high detailed dynamic character test

To celebrate Siggraph, here's a new video of Brigade for your enjoyment, showing an animated character mesh consisting of 125k dynamic triangles rendered in real-time at 35 fps with path tracing (the static background contains 600k triangles).

To give some background: one of the main reasons why ray tracing has not been considered a viable alternative for rasterization as a rendering technique for  games is because ray tracing requires an acceleration structure to achieve real-time performance and dynamic scene support requires that acceleration structure to be rebuilt or updated every frame which has been a long standing and often revisited problem in the ray tracing research community.

Until a few weeks ago, Brigade was capable of handling about 50k (non-instanced) dynamic triangles at 30 frames per second. Recently however, the dynamic triangle budget was tripled and we can now do around 150k triangles at 30 frames per second (and this will soon increase further to a dazzling 1 milllion dynamic triangles at 30 fps), which allows for some extremely detailed deformable meshes like characters. VFX houses doing previs of real-time motion captured characters will love this.

UPDATE: Updated the post with a fresh batch of screenshots to show the extreme texture detail on the LightStage model.

HD video (rendered at 720p): http://www.youtube.com/watch?&v=EgMy5dqAl_U


Note the huge difference diffuse color bleeding makes on the character's body when the floor is matte in the next two screenshots: 

The entire movie industry is going down the physically based rendering path with path tracers like Arnold. Recently even Pixar/Disney went with full path tracing for Monsters University and completely reworked their old Renderman renderer by adding a path tracing mode. The benefits of progressive rendering with physically based global illumination and materials without having to rely on time consuming point cloud baking has entirely revolutionized the way artists work as it's a game changer for the creative process. Games will eventually follow this path as well as game developers keep striving for cinema quality graphics as they've been doing since the introduction of the first OpenGL accelerator boards. And if you're still not convinced of the undeniable superiority of path tracing after all this fluff, you can talk to this nicely textured hand:

 

Btw, in case you haven't noticed yet, we dramatically improved the lighting quality and sky model in Brigade over the past months and it's now almost up to Octane standards.

More tests to come soon.

Thursday, March 21, 2013

Real-time path traced Virtual Reality

With the GTC almost over, we can finally unveil what we've been working on for the past seven months. Brigade has made massive progress during that time in all areas: performance, quality, sampling efficiency and tremendously improved support for dynamic scenes and multi-GPU setups.
The level of realism in Brigade is just absurd and playing with it often feels like you're watching a real life movie.

We love playing GTA, so we set out to make a real-time path traced GTA like demo to be shown at Nvidia's GTC conference (and also next week at the GDC). The plan was to have hundreds of cars and pedestrians populating a living and breathing city, all path traced in real-time. A rather ambitious goal, since path tracing this kind of highly dynamic scenes in real-time was never done before, but do we love a challenge! After doing successful tests with hundreds of moving cars and characters in a city environment, we added physics, which slowed things down massively so we had to settle on just one car. Brigade was blowing our minds, time and time again, it renders monstrously fast.

The video below shows some of our tests rendered at 1280x72:

- the city scene has 750 instanced animated characters (30k triangles each, in total 22.5 million animated triangles), all of them physics driven with Bullet physics in a 600k triangle city

- the Piazza scene is fantastic to test color bleeding, there are 16384 instances of a 846k triangle city, 13.8 billion triangles in total, rendered in real-time

- interior scene from Octane Render, created by Enrico Cerica, 1 million triangles rendered in real-time



We will post screenshots and a lot more videos after the GDC.

Friday, March 15, 2013

Prepare to be flabberghasted...

After the successful presentation at Siggraph 2012, Brigade will rear its ugly ahead again in public next week. This time it's Nvidia's GTC conference, where OTOY will have a 50 minute talk on Tuesday, showing off Brigade, Octane Render and LightStage. Make sure to be there if you want to see the scene below running in real-time:


It's going to simultaneously blow your mind and socks off your feet (I'm still not completely recovered from the breath taking beauty) and you will regret it for the rest of your life if you won't be there. However, in the unlikely case that you can't make it to the conference, do not despair, because I'll post tons of screenshots and videos when the event is over. 


Monday, March 4, 2013

Real-time GPU path traced Gangnam style

Not that many updates lately, during the last two months we've been working on a kick-ass Brigade tech demo that will be shown on a conference in the second half of this month. I'll post screenshots and videos posted after the event, but in the meantime we're still doing some smaller tests, such as this as animated character instance test. The video and screenshots are rendered with Brigade's superfast path tracing kernel (maxdepth 6) and show 12 instanced characters animated in real-time. 

 
 
             
Update: Some teaser images of a new scene, rendered in real-time with very nice color bleeding and real-time post processing:


More to come soon

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: