Those results are fantastic. I have to say, I like the noise that path tracing creates (you can see it in the video for the Brigade engine as well, mentioned in another comment). It looks rather like the noise you get from a lower-end digital camera, which actually rather enhances the realism for me.
And here I was going to say "the grain you get from high ISO film (http://i.imgur.com/4FDyk.jpg)". Dang kids, get off my lawn!
Anyways, you can actually see this effect (combined with chromatic aberration, which simulated the effect of cheap camera optics) used to great effect in P.T., which was a sort of tech demo/playable trailer for an upcoming silent hill game. Here's a screenshot: http://www.silenthillmemories.net/silent_hills/screens/pics/...
Ha, of course, film as well; for whatever reason, my first thought was "crappy flip-phone camera".
In any case, it's great. The noise hides some details that would otherwise reveal flaws in the render, similar to how motion blur and focus help as well.
> It looks rather like the noise you get from a lower-end digital camera, which actually rather enhances the realism for me.
That's the advantage of ray tracing: you're simulating physical reality, so any errors emulate physical reality as well.
In the case of noise, it's simply the result of each pixel not having sufficient sampling depth, because the ray tracing algorithm hasn't been run long enough. This is exactly the same as when it happens with a camera: if you opened the shutter for a longer time period, the noise would go away (although you might not be able to hold the camera still).
The terminology is admittedly confusing. This is how I understand it:
Ray casting: Determine intersection of a ray analytically
Ray marching: Determine intersection of a ray by taking stepwise samples
Ray tracing: Ray casting or marching along a light path (from the camera)
Path tracing: Ray tracing with random experiments
The first two are ray calculation strategies, the latter are rendering strategies. In ray tracing you usually have many simplifications and effects like in real-time rendering, for example direct light models. In path tracing these effects are the result from approximating the full rendering equation.
Hmm, I think some of those definitions are a bit off. Let me try:
- Ray-casting is the general technique of using ray/object intersections (usually to solve a graphics problem). Could be via analytical solutions or not.
- Ray-marching refers to using an iterative technique for computing ray/object intersections. This type of strategy is used for these 3D fractals.
- Ray-tracing creates an image by casting rays for each pixel in the image (from the camera).
- Path-tracing is one of many random ray-tracing techniques. It averages across many random deep bounces of rays following light paths to accurately solve for lighting.
In this case, the ray-tracing casts rays against the 3D fractal via ray-marching and uses path-tracing to compute accurate lighting.
I think think that's kind of a philosophical question. Wikipedia, for example, explains path tracing as integrating over incident light on a surface. You could either think of that as incident light at a point on a virtual film/sensor plane behind a lens or incident light on the first object you hit in the scene.
Such techniques are often generally known as "Global Illumination".
Often in physics based rendering you are attempting to estimate the BSDF (bi-directional scattering distribution function, often broken into T, transmission and R reflection) parts. This gets complicated by interactive media and subsurface scattering (i.e the photons go into a material and bounce around) but in the simple case of a surface interaction you are estimating an integral over solid angle for all light interactions. Monte Carlo path tracing is one way to do this estimation.
What gaming engines already implement or plan to implement path tracing in them in the future? Path tracing looks like the future of gaming graphics, and would do especially well with VR in a decade or so (hopefully by then path tracing will also be accelerated in hardware).
As I understood it back then (2010), it was a big step forward in performance. But the company was purchased by Imagination Technologies, and I haven't really heard about it since.