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#60 - Artifacts using prism in CSG

Attached to Project: POV-Ray
Opened by Christoph Lipka (clipka) - Friday, 18 September 2009, 15:13 GMT
Last edited by William F Pokorny (wfpokorny) - Saturday, 29 October 2016, 12:53 GMT
Task Type Definite Bug
Category Backend → Geometric Primitives
Status Tracked on GitHub
Assigned To Christoph Lipka (clipka)
Operating System All
Severity Medium
Priority Normal
Reported Version 3.70 beta 34
Due in Version Future release
Due Date Undecided
Percent Complete 0%
Votes 0
Private No


Using prisms in intersecion or difference CSG objects may cause artifacts in POV-Ray 3.6.2 as well as 3.7.0.beta.34, as demonstrated by the following code:

camera {
  right    -x
  up        y*image_height/image_width
  location  <-24,19,12>
  look_at   <0,0,0>

light_source { <100,200,100> color rgb 1 }

plane { y, -2 pigment { color rgb 1 } }

#declare KeyValue = 1.366; // pick any you like

difference {
  prism {
    linear_sweep -0.5,0.5, 4
  intersection {
    cylinder { <-7,-0.51,1>, <-7, 0.51,1>, 4.0 }
    plane { z, KeyValue }
  pigment { color rgb 0.5 } 

Apparently the surface of the other object becomes visible when it exactly coincides with a vertex of the prism; probably there is a failure of the inside() test for such values.

This task depends upon

Comment by Christoph Lipka (clipka) - Thursday, 25 August 2011, 19:09 GMT
  • Field changed: Due in Version (Undecided → Future release)

I had hoped someone else might pick up this glove. But as it is a pretty old bug (I’d guess it has been around ever since), I see no need to rush it into the .0 release of 3.7 and risk breaking the prism inside() test for other special cases.

Comment by William F Pokorny (wfpokorny) - Saturday, 29 October 2016, 12:53 GMT
  • Field changed: Status (New → Tracked on GitHub)

Now tracked on github as issue #139.