POV-Ray : Newsgroups : povray.binaries.images : Radiosity/no_image Server Time
13 Nov 2024 20:27:46 EST (-0500)
  Radiosity/no_image (Message 1 to 4 of 4)  
From: Dave Blandston
Subject: Radiosity/no_image
Date: 14 Jun 2010 22:55:01
Message: <web.4c16eaedeca5ffcfcba3fb0f0@news.povray.org>
Hi there,

Here's an interesting effect - for my never-ending Metallica/military project, I
added an extruded wall around the indented green center of the logo (which has
ambient .1), to enhance the glowing effect that radiosity causes. It worked, but
when I added "no_image" to the wall it also stopped contributing a radiosity
effect to all the letters except the "I." The only thing unique about the "I" is
that it's a simple box, as opposed to a more complex CSG object. For example,
the "L" is a box with another box differenced from the upper right corner. I'm
using version 3.7 beta 37a. I don't see anything related to this on the bug
reports website so I'm guessing I'm missing something again but I'm curious if
anyone else has noticed this.

Regards,
Dave Blandston


Post a reply to this message


Attachments:
Download 'demo.jpg' (66 KB)

Preview of image 'demo.jpg'
demo.jpg


 

From: clipka
Subject: Re: Radiosity/no_image
Date: 15 Jun 2010 17:11:25
Message: <4c17ec7d@news.povray.org>
Am 15.06.2010 04:52, schrieb Dave Blandston:
> Hi there,
>
> Here's an interesting effect - for my never-ending Metallica/military project, I
> added an extruded wall around the indented green center of the logo (which has
> ambient .1), to enhance the glowing effect that radiosity causes. It worked, but
> when I added "no_image" to the wall it also stopped contributing a radiosity
> effect to all the letters except the "I." The only thing unique about the "I" is
> that it's a simple box, as opposed to a more complex CSG object. For example,
> the "L" is a box with another box differenced from the upper right corner.

Are you using the "no_image" on the letters, or on the individual CSG 
members?


Post a reply to this message

From: Dave Blandston
Subject: Re: Radiosity/no_image
Date: 15 Jun 2010 23:40:01
Message: <web.4c184658bdfe36ccba3fb0f0@news.povray.org>
clipka <ano### [at] anonymousorg> wrote:
> Are you using the "no_image" on the letters, or on the individual CSG
> members?

Each letter is created individually then unioned together to create the entire
logo. The macro that makes the logo takes one arguement, which is the amount to
shrink the border of each individual letter, then makes a one-unit deep complete
logo. I used multiple scaled and translated copies of the complete logo unioned
and differenced together to make the beveled edges and indented center, as well
as the "invisible" extruded walls intended to enhance the glowing radiosity
effect. the "no_image" tag is applied to the entire extrusion just before being
unioned with the visible logo. If you're interested, I would be happy to make a
simplified demo scene and post the code.

As a side note, I used the same technique with height_fields and the invisible
extruded walls did in fact have a radiosity effect on the visible height_field,
similar to the "I" in the logo.

Regards,
Dave Blandston


Post a reply to this message

From: Dave Blandston
Subject: Re: Radiosity/no_image
Date: 16 Jun 2010 05:40:00
Message: <web.4c189ad3bdfe36ccba3fb0f0@news.povray.org>
Here's a simple demo scene to illustrate what's going on. I made it to
experiment with but since it's completed I'll go ahead and post it.
---------------------------------------

#local HideExtrusion = yes;
//Note the difference in the interior (blue) portions
//when the extrusion is hidden (no_image, no_reflection)
//compared to when it's not hidden. When the extrusion
//is hidden, it still has a radiosity effect on the "I,"
//but not on the "L." When it's not hidden, it has a
//radiosity effect on both letters.

global_settings {
   max_trace_level 20
   radiosity {
      count 300
      error_bound .02
      nearest_count 16
      adc_bailout .1
      pretrace_start .08
      pretrace_end .004
      recursion_limit 2
   } //radiosity
} //global_settings

#include "colors.inc"
#include "metals.inc"

camera {
   location <0, 0, -20>
   direction <0, 0, 4/3>
   look_at <0, 0, 0>
   rotate -20 * x
} //camera

#local Dome = object {
   difference {
      sphere {0, 20001}
      sphere {0, 20000}
   } //difference
   texture {
      pigment {
         gradient z
         color_map {
            [0 color White * 7]
            [.4 color Black]
            [1 color Black]
         } //color_map
      } //pigment
      finish {ambient 1 diffuse 0}
      scale <1, 1, 20000>
   } //texture
   no_reflection
   no_shadow
} //object

object {Dome}

#local OuterColor = texture {pigment {color DarkOrchid}}
#local InnerColor = texture {T_Gold_5E}
#local LogoColor = texture {pigment {color SkyBlue}}

#macro CreateLogo (BorderWidth)

   #local L_ = object {
      difference {
         box {<BorderWidth, BorderWidth, 0> <3.55 - BorderWidth, 5.8 -
BorderWidth, 1>}
         box {<1.65 - BorderWidth, 1.9 - BorderWidth, -.1> <3.7, 5.9, 1.1>}
      } //difference
   } //object

   #local I_ = object {
      box {<BorderWidth, BorderWidth, 0> <1.8 - BorderWidth, 5.8 - BorderWidth,
1>}
   } //object

   union {
      object {L_}
      object {I_ translate 3.8 * x}
   } //union

#end //#macro CreateLogo

#local LogoDepth = 2; //Depth of the entire logo
#local BorderWidth = .2; //Width of the visible border and the invisible
extrusion.
#local BorderDepth = .36; //Depth of the visible border.
#local RadiosityExtensionDepth = .8; //Depth of the invisible extrusion, and
hence the amount of radiosity enhancement.

//The visible logo:
#local LOGO1 = object {
   CreateLogo (0)
   scale <1, 1, LogoDepth>
   texture {OuterColor}
} //object

#local LOGO2 = object {
   CreateLogo (BorderWidth)
   scale <1, 1, 1.1>
} //object

#local LOGO2 = object {
   intersection {
      object {LOGO2 texture {InnerColor}}
      plane {z, 1 texture {LogoColor}}
   } //intersection
   translate (-1 + BorderDepth) * z
} //object

#local LOGO = object {
   difference {
      object {LOGO1}
      object {LOGO2}
   } //difference
} //object

//Now for the invisible extrusion:
#local LOGO1 = object {
   CreateLogo (0)
} //object

#local LOGO2 = object {
   CreateLogo (BorderWidth)
   scale <1, 1, 1.2>
   translate -.1 * z
} //object

#local LOGO1 = object {
   difference {
      object {LOGO1}
      object {LOGO2}
   } //difference
   translate -1 * z
   scale <1, 1, RadiosityExtensionDepth>
   texture {pigment {color Red}} //Contrasting color for ease of de-bugging.
   #if (HideExtrusion)
      no_image
      no_reflection
   #end //#if
} //object

//Combine the visible logo and the invisible extrusion:
#local LOGO = object {
   union {
      object {LOGO}
      object {LOGO1 translate -.0001 * z}
   } //union
   no_shadow
} //object

object {LOGO translate <0, -2, -LogoDepth>}

plane {z, .8 inverse pigment {color DarkOliveGreen}}


Post a reply to this message

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