News for hackers. Stuff that matters.
Re:Porting a Ray Tracer to Rust, Part 1 by programmer_dude on Wednesday December 31, 2014 @03:44AM (#8818637)
What is physically based rendering? What do the terms physically and based mean here?
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.
Re:Porting a Ray Tracer to Rust, Part 1 by Hypx on Wednesday December 31, 2014 @04:39AM (#8818733)
It basically means you try to model your rendering engine as close to the real world as possible. That in-turn implies that every aspect of your rendering engine is analogous to how light and real world objects really behave.
Re:Porting a Ray Tracer to Rust, Part 1 by programmer_dude on Wednesday December 31, 2014 @05:25AM (#8818833)
Thanks!
Re:Porting a Ray Tracer to Rust, Part 1 by adamnemecek on Wednesday December 31, 2014 @03:47AM (#8818641)
Re:Porting a Ray Tracer to Rust, Part 1 by programmer_dude on Wednesday December 31, 2014 @04:09AM (#8818675)
So a more grammatically correct term can be "physics based rendering"?
Re:Porting a Ray Tracer to Rust, Part 1 by tomjakubowski on Wednesday December 31, 2014 @04:25AM (#8818708)
Re:Porting a Ray Tracer to Rust, Part 1 by programmer_dude on Wednesday December 31, 2014 @05:23AM (#8818830)
Yes, I have seen that. This is why asked what those words meant. The words "physically" and "based" as they are used here do not fit my understanding of the English grammar. I am not a native English speaker. I just want to know why is this sequence of words meaningful?
Re:Porting a Ray Tracer to Rust, Part 1 by losvedir on Wednesday December 31, 2014 @10:44AM (#8819744)
I'm a native English speaker, but have no experience with rendering or this topic.

To my ears, "Physically Based Rendering" does sound a little stilted. I don't immediately have an intuitive grasp of what it means based on words alone.

It doesn't sound like it means "physics based rendering", which would mean "a rendering process that uses physics at its core."

Rather, the attachment I have to the word "physically" is more along the lines of "metaphorical vs. physical" (i.e. "concrete", "real", "observable"). So along those lines, my natural understanding of "Physically based" rendering would be a process not based on abstract mathematical principles, but one that tries to take the physical properties of objects into account. So, maybe to render a rock you'd think about what it's made of, if moss grows on it, etc.

(I don't know if that's actually what PBR means, just that's what it sounds like to me as a native speaker.)

Re:Porting a Ray Tracer to Rust, Part 1 by SamReidHughes on Wednesday December 31, 2014 @05:33AM (#8818849)
"Physically based" rolls off the tongue more easily, and the adverb "physically" is modifying the verb "based", and then "physically-based" or "physically based" combines into an adjective or sometimes an adverb.
Re:Porting a Ray Tracer to Rust, Part 1 by damon_c on Wednesday December 31, 2014 @11:39AM (#8819965)
One of the main concepts in physically based rendering, more than whether it uses path tracing or ray tracing or global illumination, is the notion of correctly modeled energy conservation with respect to the rendering of surfaces.

have a look at this link: https://support.solidangle.com/display/AFMUG/Standard

Re:Porting a Ray Tracer to Rust, Part 1 by darkpore on Wednesday December 31, 2014 @11:44AM (#8819986)
Rather ironically, Arnold's standard shader still has bugs meaning its Cook-Torrance microfacet model isn't completely energy conserving at glancing angles...
Re:Porting a Ray Tracer to Rust, Part 1 by damon_c on Wednesday December 31, 2014 @12:24PM (#8820142)
Interesting. It's been around long enough you'd think they would have worked out those details. I just linked it because I felt it gave the clearest explanation of the concept.
Re:Porting a Ray Tracer to Rust, Part 1 by rejschaap on Wednesday December 31, 2014 @06:06AM (#8818925)
"Physically Based" has somewhat turned into the CG/gamedev version of "Big Data". I remember reading a paper about physically based facial animation or modelling. Which uses the concepts of facial tissue and muscles to realistically render faces. It went all downhill after that though. We'll probably soon see a re-release of asteroids called "Physically Based Asteroids" because there is a multiplication in there somewhere that reminded the author of Newtons second law.
Re:Porting a Ray Tracer to Rust, Part 1 by CyberDildonics on Wednesday December 31, 2014 @06:36AM (#8818985)
In rendering specifically it isn't nearly as much of an ambiguous buzzword.