Straw man.
> Shadows have a hard edge, as only infinitesimally small point light sources of zero volume can be simulated
Uh, no. Raytracing can definitely have emitting surfaces and volumes.
> Reflection / Refraction can only simulate a limited set of light paths, for perfect mirror surfaces, or perfectly homogeneous transparent media.
You sure about that?
> More complex effects like depth of field are not supported.
https://www.povray.org/documentation/view/3.60/248/
Also, the title should get a "2019" tag.
POV-ray supports all kind of ray tracing and path tracing techniques, not just Whitted RT.
amelius•3h ago
> PBRT's MediumInterface system can only represent a single "inside" medium and a single "outside" medium per shape. If a shape physically touches multiple different media (for example, a glass sphere sitting at the interface between water and air), PBRT cannot directly represent this configuration.
I think this is kind of odd for a renderer which is otherwise quite capable. Can anyone explain why this is the case, and how I can work around this limitation?
maybewhenthesun•2h ago
That way the light will refract on the internal boundary as if it moves from the one material to the other.
Prerequisite is that you ened to be able to create non-manifold objects...
amelius•2h ago
When you say quotient, which material's ior is in the numerator and which in the denominator?
tylermw•2h ago
https://blog.yiningkarlli.com/2019/05/nested-dielectrics.htm...
that inspired me to add the feature to my renderer (rayrender.net).
The downside to priority tracking (and possibly why PBRT does not include it) is it introduces a lots of overhead to ray traversal due to each ray needing to track a priority list. Modern raytracers use packets of rays for GPU/SIMD operations, and thus minimizing the ray size is extremely important to maximize throughput and minimize cache misses.
amelius•1h ago
Maybe I have to broaden my search for a raytracer. What would be my best bet for correctly simulating multi-material lenses (so with physical correctness), in Linux (open source), preferably with GPU support?
(By the way, as a user I'd be happy to give up even a factor of 10 of performance if the resulting rendering was 100% physically accurate)