Path Tracing 3D Fractals
blog.hvidtfeldts.net
blog.hvidtfeldts.net
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/...
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.
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).
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.- 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.
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.
Sam Lapere seems to have left Otoy around November 2014.
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.