The Persistence of Vision Raytracer (POV-Ray).

This is the legacy Bug Tracking System for the POV-Ray project. Bugs listed here are being migrated to our github issue tracker. Please refer to that for new reports or updates to existing ones on this system.


FS#288 - Tolerance problem with refraction in blobs in CSG intersections.

Attached to Project: POV-Ray
Opened by Simon (infoised) - Monday, 29 April 2013, 18:49 GMT
Last edited by William F Pokorny (wfpokorny) - Tuesday, 17 January 2017, 17:54 GMT
Task Type Possible Bug
Category Backend → Geometric Primitives
Status Tracked on GitHub
Assigned To No-one
Operating System Linux
Severity Low
Priority Normal
Reported Version 3.70 RC7
Due in Version Undecided
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


If a blob is intersected by something else, the composite object has incorrect refractions if it is too small (in absolute units). Having the same object constructed without a blob, the errors happen at much smaller scales. The errors don’t affect solid objects, just refractions.

An example shows a half-sphere, constructed as CSG sphere + plane, and identical half-pshere, constructed as CSG blob + plane. When the scale of the entire construction is changed, the refractions disappear first for the blob, and at 100x times smaller scale, also for the sphere. The right side shows the solid version, showing that the surface intersection test is ok, it’s just the refraction that fails.

The problem is not present when looking from the curved side (the blob side). So the ray that hits the blob, gets refracted correctly, but the ray that hits the intersecting plane first, and should then refract in the blob from the inside, doesn’t work. If in attached sphere, you exchange -y with y in clipping planes, everything is ok.

The scale when this happens is not very small - blobs of radius 0.02 already fail (noticed because in 1=1metre scale, blob raindrops on a glass plate didn’t have intersections when looking from the back).

Examples are named by factor=9,0.9,0.09,0.009 and you can see first the blob (top) refraction gets smaller and disappears, then later the bottom (sphere) also gets the same problem.

This task depends upon

Comment by William F Pokorny (wfpokorny) - Tuesday, 17 January 2017, 17:54 GMT
  • Field changed: Status (Unconfirmed → Tracked on GitHub)

Now tracked on github as issue #187.