POV-Ray : Newsgroups : povray.bugreports : Union disables hollowness : Union disables hollowness Server Time
14 Apr 2024 07:12:52 EDT (-0400)
  Union disables hollowness  
From: Cousin Ricky
Date: 28 Mar 2022 13:43:10
Message: <6241f3ae$1@news.povray.org>
If a hollow object is included in a union, the hollow property is
disabled.  This apparent bug was introduced in POV-Ray 3.7; the hollow
property is inherited fine in 3.6.

The following scene illustrates the problem.  The left side shows the
pole and pennant created separately.  The middle shows a union of the
pole and pennant.  The right side shows a union of the pole and pennant,
with an additional hollow keyword at the union level.

------------------------[BEGIN CODE]-------------------------
#version max (3.6, min (3.8, version));

//---------------- ENVIRONMENT -------------------

global_settings { assumed_gamma 1 }
#default { finish { diffuse 0.6 ambient <0.07, 0.08, 0.11> } }
background { blue 0.2 }
fog
{ fog_type 2
  distance 100000
  fog_alt 10000
  fog_offset 0
  color rgb <0.45, 0.6, 0.9>
}
light_source
{ <0, 1, -1> * 10000, rgb <1.05, 1.00, 0.97>
  parallel point_at 0
}

#include "screen.inc"
Set_Camera (<0.65, -0.4, -7>, <0.65, 0.1, 0>, 45)
Screen_Object
( text
  { ttf "cyrvetic" concat ("v", str (version, 0, 2)) 0.001, 0
    pigment { rgb 0 }
    scale 0.09
  },
  <0, 1>, <0.02, 0.02>, yes, 1
)

plane { y, -1 pigment { rgb 0.5 } }

//-------------------- TEST ----------------------

#declare p_Pennant = pigment
{ object
  { prism
    { -1, 1, 4, <0, 0>, <0, 1>, <1.5, 0.5>, <0, 0>
      rotate -90 * x
    }
    color rgbt 1 color red 1
  }
}
#declare Penant = mesh
{ triangle { <0, 0, 0>, <0, 1, 0>, <1.5, 1, 0> }
  triangle { <0, 0, 0>, <1.5, 1, 0>, <1.5, 0, 0> }
  pigment { p_Pennant }
  hollow
}

#declare Pole = cylinder
{ -y, 1.1 * y, 0.06 translate -0.1 * x
  pigment { rgb 0.8 }
}

#declare SPACE = 1.85;

// Separate objects
object { Penant translate -SPACE * x }
object { Pole translate -SPACE * x }

// Union with inherited hollow
union
{ object { Penant }
  object { Pole }
}

// Union with redundant hollow
union
{ object { Penant }
  object { Pole }
  hollow
  translate SPACE * x
}
-------------------------[END CODE]--------------------------

POV-Ray 3.8 (not shown) renders the same as 3.7.


Post a reply to this message


Attachments:
Download 'hollow_union-v36.jpg' (17 KB) Download 'hollow_union-v37.jpg' (19 KB)

Preview of image 'hollow_union-v36.jpg'
hollow_union-v36.jpg

Preview of image 'hollow_union-v37.jpg'
hollow_union-v37.jpg


 

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.