Learn how easy it is to sync an existing GitHub or Google Code repo to a SourceForge project! See Demo

Close

#36 rcc joint boolean produces visual artifacts

unexpected behavior
open
nobody
Raytrace (49)
3
2014-08-25
2005-05-18
Sean Morrison
No

If two cylinders are joined at a right angle and unioned togeter with
exactly their overlapping portions subtracted with boxes, you end up
with visual artifacts in the rendering. There are two primary
artifacts evident, the first being that the boolean evaluation of both
cylinder ends appears to slice a very small portion out of the
cylinder edge where the other cylinder numerically matches it. That
is, where the flat cylinder top is tangent to the other cylinder's
curved side surface. The second artifact appears to be a speckling
rim where the cylinder surfaces meet along a curved survace line.
This results in a dark speckled line that is probably due to incorrect
normals.

Both problems are probably due to floating point errors in the
boolean segment calculations. Attached should be an example
geometry database and a saved view that easily exhibits the
problem.

Discussion

  • Sean Morrison
    Sean Morrison
    2005-05-18

    rcc bug example geometry file and saved view script

     
    Attachments
  • Lee Butler
    Lee Butler
    2005-06-14

    Logged In: YES
    user_id=1179270

    What platform (CPU and OS) are you using? It would be nice to be able to
    reproduce this.

     
  • Sean Morrison
    Sean Morrison
    2005-06-15

    • priority: 5 --> 3
     
  • Sean Morrison
    Sean Morrison
    2005-06-15

    Logged In: YES
    user_id=785737

    Happens for me on any system. The saved view reproduces it.

    It's a very old bug. I initially ran across it in release 5 along with a handful
    of other bugs. The other bugs were fixed, but I discovered that this one
    apparently slipped through after revisiting an old .g I had stashed away.
    Given how long it's been around, and the borderline case, it's not exactly a
    critical bug -- just worth reporting and keeping a record of until we can fix it.