Another real-time path traced test of Brigade with HDR environment lighting, featuring the Stanford bunny and the dancing dude from one of the previous posts. Jeroen van Schijndel (Brigade's lead dev), had the outrageous idea to create an animated instance for every triangle of the Stanford bunny, resulting in 4968 instances. Each jolly dancer contains over 60k triangles, totalling over 300 million dynamic triangles in real-time.
For the first time at QuakeCon, John Carmack showed off his talents as a lecturer as he gave a one hour talk on the Physics of Light and Rendering, which covered everything from rasterization to ray tracing and also path tracing. As the pioneer and godfather of 3D first person shooter games and the creator of the most popular 3D game engine of all time (the Quake 3 engine which is still being used in heavily modified form in all of the Call of Duty games) Carmack is still regarded as the highest authority on real-time game graphics, which makes this lecture on physically based rendering (a rendering method which until recently was strictly reserved for the academic research community and for offline production rendering) both surprising and remarkable. And when he divulges his view on the future of game graphics, you can be sure his ideas will be copied by every other game developer.
- while Carmack believed that voxels were the way forward to do efficient ray tracing in the past (see Jon Olick's SVO research for id Software at Siggraph 2008), but today he thinks ray tracing triangles is the most efficient way and all ray tracing will be against triangles, because most content creation tools are built around triangle meshes
- Carmack thinks that path tracing will be the way forward for all kinds of rendering, offline and real-time and the whole industry is moving towards it, because it's easier and much more accurate to create immersive lifelike graphics for movies and games with accurate global illumination, shadows and reflections
- Brigade gets briefly mentioned at around 1:04:00. Did a quick transcript of the Brigade fragment:
"[...] It does seem likely that the path forward is lots and lots of rays, physically accurate material definitions and approaches that are approximations of the sampling of path tracing. We can do, there are some neat demos going around today, like the Brigade path tracing demo which is real-time and it's doing simple path tracing from a parallel outdoor light and it's noisy and fizzly as it comes in, but you can stop and watch it come in more crisply. And eventually this is going to be the way things go, this is going to be the way we're gonna be rendering, but we still have maybe a couple of magnitudes before it's really competitive. I think one more order of magnitude in performance and you'll start seeing it used for some real things, but still, you have to have a good reason to step away from rasterization. But probably when we get two orders of magnitude, then you start seeing it as one of the more general tools. And the reason that it's winning in the offline world, even though it's still slower, people still care about how long their renderings take even if you're making a feature film or tv commercial, it matters for your iteration time. But the sense is that you get more out of this being understandable. [...]"
- Carmack is pushing the artists at id Software to adopt a more physically accurate material rendering system
While I don't fully agree that we need another magnitude of performance (Brigade can path trace outdoor scenes in real-time today with very little noise), it is great to see that path tracing is acknowledged by Carmack as the eventual future not only for offline rendering, but also for real-time game graphics. The future of GPU path tracers like Octane/Brigade has never been brighter.
To celebrate Siggraph, here's a new video of Brigade for your enjoyment, showing ananimated 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.
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.
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.
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.
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: