POV-Ray : Newsgroups : povray.general : normal average bug (?) in beta6 : Re: normal average bug (?) in beta6 Server Time
13 Aug 2024 13:22:09 EDT (-0400)
  Re: normal average bug (?) in beta6  
From: Peter Popov
Date: 2 Sep 1998 05:25:40
Message: <35ed0104.0@news.povray.org>
Nathan Kopp wrote in message <35ECBD26.C0C7DD90@ltu.edu>...
>I've got a bit of experience with working with textures in POV.  I'd be
>interested in trying my hand at fixing the bug.  Please provide more
details
>(in terms of POV files that work and some that show the bug) and I'll do
>my best to track it down.
>
>-Nathan Kopp

I'll post a scene showing the problem here though it's place is in
text.scene-files. I gave up this scene so it's nowhere around finished or
even begun, the good side of this being that it's small (5.5k). Check up the
upper-left corner of the tunnel, there the bug is obvious. Also, as I said,
check out the thread called "normal average bug" posted here (April 24,
1998) and the corresponding image post in binaries.images

If this is a bug I hope you'll be able to fix it.

// ------------------------ code -----------------------

#include "colors.inc"
#include "finish.inc"
#include "stones.inc"

#declare Rail =
union
{ box { <-0.1,0.375, -201>, <0.05,1,1001> }
  box { <-0.25,0.5,-201>, <0.05,1,1001> }
  texture
  { pigment { White*0.8+Blue*0.2 }
    finish { Shiny }
    normal { bumps 0.2 scale 0.1 }
  }
}
#declare Floor =
union
{ difference
  { box { <-4.5,-2,-200>, <2.5,-1,1000> } // this is the floor
    object { Rail translate <-2.4,-1.575,0> }
    object { Rail scale <-1,1,1> translate <0.4,-1.575,0> }
  }
  intersection // left sidewalk
  { box { <-5,-1,-200>, <-3.5,-0.5,1000> }
    plane { x+y, 0 translate <-3.5,-0.5,0>-(x+y)*0.125 }
    pigment
    { gradient z
      color_map
      { [0.0, 0.955 color Gray color Gray]
        [0.955, 1.0 color Black color Black]
      }
      scale 3
    }
  }
  intersection // right sidewalk
  { box { <1.5,-1,-200>, <3,-0.5,1000> }
    plane { y-x, 0 translate <1.5,-0.5,0>+(x-y)*0.125 }
    pigment
    { gradient z
      color_map
      { [0.0, 0.955 color Gray color Gray]
        [0.955, 1.0 color Black color Black]
      }
      scale 3
    }
  }
}
#declare Ceiling = box { <-4.5,5,-200>, <2.5,6,1000> }
#declare Door =
union
{ box { <-1.5,-0.85,-1>, <1.5,1.25,1> }
  cylinder { <0, 1.25, -1>, <0, 1.25, 1>, 1.5 }
  rotate -90*y
}
#declare Doors=3
#declare Concrete =
   texture  // txt_22
   {
      pigment
      {
         bozo
         turbulence 0.2
         color_map
         {
            [ 0.0     rgbft <0.894, 0.886, 0.886, 0.0, 0.0> ]
            [ 0.154   rgbft <0.745, 0.745, 0.753, 0.0, 0.0> ]
            [ 0.308   rgbft <0.902, 0.902, 0.859, 0.0, 0.0> ]
            [ 0.444   rgbft <0.729, 0.706, 0.694, 0.0, 0.0> ]
            [ 0.615   rgbft <0.588, 0.592, 0.635, 0.0, 0.0> ]
            [ 0.803   rgbft <0.608, 0.616, 0.659, 0.0, 0.0> ]
            [ 1.0     rgbft <0.894, 0.886, 0.886, 0.0, 0.0> ]
         }
         scale <.3,.3,2>
      }
      finish
      {
         ambient 0.2
      }
      scale  3.0
   }
   texture  // txt_23
   {
      pigment
      {
         granite
         color_map
         {
            [ 0.0     rgbft <0.31, 0.384, 0.42, 0.631, 0.0> ]
            [ 0.119   rgbft <0.322, 0.369, 0.416, 0.847, 0.0> ]
            [ 0.322   rgbft <0.424, 0.369, 0.42, 0.549, 0.0> ]
            [ 0.449   rgbft <0.373, 0.424, 0.518, 0.965, 0.0> ]
            [ 0.729   rgbft <0.482, 0.573, 0.533, 0.741, 0.0> ]
            [ 1.0     rgbft <0.31, 0.384, 0.42, 0.631, 0.0> ]
         }
         turbulence 0.6
      }
   }
   texture  // txt_24
   {
      pigment
      {
         color rgbf <0.752941, 0.752941, 0.752941, 0.5>
      }
      finish
      {
         ambient 0.15
         diffuse 0.75
         crand 0.05
      }
      normal
      { average
        normal_map
        { [1 bumps 0.25 scale <0.1,3,0.1>]
          [1 bumps 0.25 scale <0.1,0.1,3>]
          [4 crackle bump_size 2 scale 1] // just to show the bug more
clearly
        }
      }
   }
#declare Left_Wall =
difference
{ box { <-10,-0.5,-200>, <-5,4.5,1000>}
  #declare dummy=0
  #while ( dummy<Doors )
    object { Door translate <-4.1, 0.5, 3.25+30*dummy> }
    #declare dummy=dummy + 1
  #end
}
#declare Right_Wall = box { <3,-0.5,-200>, <4,4.5,1000> }
union
{ object { Floor }
  object { Ceiling }
  object { Left_Wall }
  object { Right_Wall }
  intersection
  { cylinder { -200*z, 1000*z, 1 }
    cylinder { -201*z, 1001*z, 0.5 inverse}
    plane { x, 0 }
    plane { -y, 0 }
    translate <-4.5,4.5,0>
  }
  intersection
  { cylinder { -200*z, 1000*z, 1 }
    cylinder { -201*z, 1001*z, 0.5 inverse}
    plane { x, 0 }
    plane { -y, 0 }
    rotate 90*z
    translate <-4.5,-0.5,0>
  }
  intersection
  { cylinder { -200*z, 1000*z, 1 }
    cylinder { -201*z, 1001*z, 0.5 inverse}
    plane { x, 0 }
    plane { -y, 0 }
    rotate 180*z
    translate <2.5,-0.5,0>
  }
  intersection
  { cylinder { -200*z, 1000*z, 1 }
    cylinder { -201*z, 1001*z, 0.5 inverse}
    plane { x, 0 }
    plane { -y, 0 }
    rotate -90*z
    translate <2.5,4.5,0>
  }
  texture { Concrete }
}
#declare dummy=0
#declare Lamps=1
#declare Bulbs=8
#while (dummy<Lamps)
  #declare dummy1 = -div(Bulbs,2)
  #while (dummy1<=div(Bulbs,2))
    light_source
    { <-4.25,4.5,dummy*15+dummy1*3/Bulbs> color Gray50/Bulbs
      fade_distance 4
      fade_power 2.25
    }
    light_source
    { <2.25,4.5,dummy*15+dummy1*3/Bulbs> color Gray50/Bulbs
      fade_distance 4
      fade_power 2.25
    }
     #declare dummy1=dummy1+1
  #end
  #declare dummy=dummy+1
#end
fog { distance 60 color Gray25 turbulence 0.3 turb_depth 0.2 }
camera { location <1.25,1,-10> look_at <-1,1,0> }


Post a reply to this message

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