11
$\begingroup$

I've got a lot of confusion and I need to clarify some terminology and put together the knowledge.
If I say that an engine is a ray tracer (so it uses the ray tracing algorithm to render the scene), is it automatically a physically based engine? I mean, ray tracing is by its definition physically based or there could be some ray tracers that are not physically based? (and, symmetrically, are there some non-ray tracers that are physically based?)
Also, is it true that "physically based" means also that "resolves the light transport equation" ?

$\endgroup$

migrated from blender.stackexchange.com Sep 9 '15 at 13:31

This question came from our site for people who use Blender to create 3D graphics, animations, or games.

16
$\begingroup$

"Physically based" is not a very well defined term, so it's difficult to answer this question exactly.

In general, "physically based" refers to the fact that the algorithm in question is derived from physically based principles. It's not physically correct (because we can't afford that) and some approximations usually have to be made, but it's well known what those approximations are and ideally there is some intuition as to what kind of error it introduces.

This is in contrast to ad hoc models, which are usually made by an artist who observes an effect in real life and tries to write a shader or similar that somehow mimics the look of it. Usually ad hoc models are simpler and cheaper and tend to be the first solutions to turn up for a given problem, but they don't offer any particular insight into what's actually happening. It's also practically impossible to say how accurately such a model is able to reproduce the effect that it attempts to simulate.

In the context of rendering, a "physically based renderer" would therefore be simply something that renders an image using physically based principles, which is a very vague classification. A ray tracer is not inherently physically based, and most early ray tracers in fact used ad hoc models for lighting and similar. From my personal experience, "physically based rendering" used to usually refer to solving the rendering equation. However, it seems that in recent years, many game engines have claimed this term as well to mean "we do energy conservation" or "we no longer use phong".

So really, there's no hard classification of what "physically based rendering" means, and using ray tracing by itself does not make a renderer physically based. In offline rendering, this term is still mostly used to refer to renderers that solve the rendering equation, whereas in real-time rendering, it more likely refers to the use of microfacet models or similar. But it's possible that the meaning of this term will change over the years.

$\endgroup$
  • 3
    $\begingroup$ As hinted by @BenediktBitterli "Physically Based Rendering" isn't really a yes or a no. In rendering, we always have to balance realism with computational cost. Some renderers will have just a few 'Physically Based' features, for example, Microfacet BRDFs and HDR render targets. Whereas others may have many, for example, full BSDFs, full spectrum render target, light tracing, area lights, etc. $\endgroup$ – RichieSams Sep 9 '15 at 18:19
2
$\begingroup$

No, simply:

  • Physically based rendering does not necessitate raytracing. One can use other means.*

  • Raytracing can be used to do other effects than physically based rendering.

Raytracing is often easiest to implement and think out. Therefore its widely deployed for physically based rendering. But for same reason many nonrealistic renders use raytracing tricks to get what they need.

* Personally ive been toying with unstructured FEM for rendering images

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.