News for hackers. Stuff that matters.
Re:Porting a Ray Tracer to Rust, Part 1 by CyberDildonics on Wednesday December 31, 2014 @06:35AM (#8818982)
In addition to other answers, physically based rendering pragmatically means that renders have the potential to be a correct simulation of photography up to a certain point. For many many years rendering for film didn't even use ray tracing at all. Lights were a single point in space with no area and shadows were done with shadow maps. Now most film rendering has shifted to using area lights, ray traced visibility to different points on the light, and shaders that (mostly) preserve energy (they can't reflect more light than what is incoming). Even game engines like Unreal 4 take these into consideration and make very crafty and pragmatic tradeoffs to maintain speed and the principles that give an increase in realism.
Re:Porting a Ray Tracer to Rust, Part 1 by tunnuz on Wednesday December 31, 2014 @07:13AM (#8819064)
Fun fact: in most physically based ray tracers, the photons are shot by the camera, bounce on various objects, and finally hit a light (or a sky box), whose energy is then back propagated along the chain of bounces. In physics everything is reversed, the photons are generated by a light, and bounce on various objects (which change their energy by absorbing it) before ending up in a camera sensor. In fact, some advanced ray tracers follow this second model, but they are much much harder to build, and, in general, require higher computational power.

If you are looking for a good (you can build your own ray tracer) but not too hostile intro to physics based rendering I recommend "Advanced Global Illumination" by Dutre and others (http://www.amazon.com/Advanced-Global-Illumination-Second-Ed...). It is actually quite a fascinating computer science application, and you can produce beautiful images with it.

Re:Porting a Ray Tracer to Rust, Part 1 by berkut on Wednesday December 31, 2014 @07:27AM (#8819087)
Erm... Photon mapping uses "forward" path tracing to trace photons from the lights, not the camera.

In conventional (uni-directional) path tracing, rays are shot from the camera only, and bounce around the scene (other than for light visibility testing).

Bi-directional path tracing uses rays originating at both the camera and light sources going in opposite directions.

VCM is a combination of Bi-directional path tracing and photon mapping.

Re:Porting a Ray Tracer to Rust, Part 1 by CyberDildonics on Wednesday December 31, 2014 @08:22AM (#8819235)
I think he was talking about rays when he said 'photons', not photon mapping in regards to the specific technique.