POV-Ray : Newsgroups : povray.binaries.images : QUESTION: Bump not showing? : Re: QUESTION: Bump not showing? Server Time
17 May 2024 06:47:37 EDT (-0400)
  Re: QUESTION: Bump not showing?  
From: omniverse
Date: 25 Jul 2017 16:00:00
Message: <web.5977a2619f453b979c5d6c810@news.povray.org>
Sven Littkowski <I### [at] SvenLittkowskiname> wrote:
>
> Ho, can you publish here the entire scene code of your version of the
> scene? That would help me better to see the differences and to understand.

Hope this doesn't suffer in translation.  ;)
There's some dark splotches on the lower left side, maybe reflection? I didn't
check, wanted to go ahead and post this.

#version 3.7;
/*
#include "kolors.inc"
#include "finish.inc"
#include "textures.inc"
*/
#declare MyRadiosity = on; // fast enough, but faster without

/*#declare MyBackground = "SL_Space_Scene_003"; // Wormhole /SL_Space_Scene_003
/ */

global_settings
{
 #if(MyRadiosity)
  radiosity
  {
   media on
   pretrace_start 0.08
   pretrace_end   0.02
   count 100
   error_bound 0.75
   recursion_limit 1
   normal on
  }
 #end
 subsurface        {}
 adc_bailout       0.0039
 ambient_light     rgb < 0.000, 0.000, 0.000 >
 assumed_gamma     1.000
 irid_wavelength   rgb < 0.250, 0.180, 0.140 >
 max_trace_level   5
 number_of_waves   10
 noise_generator   3
 charset           ascii
}

#declare LightDiameter =     10000.0;
#declare LightDistanceX =  -500000.0; // X = Left - Right
#declare LightDistanceY =  1000000.0; // Y = Up - Down
#declare LightDistanceZ =  -100000.0; // Z = Front - Back
#declare LightRotate =          36.0;
#declare MyLight =             0.125;

camera
{
 location < -000.0, 400.0/2, -500.0 > /* < -000.0, 400.0, -500.0 > */
 look_at < 0.0, -200.0, 0.0 >/2 /* < 0.0, -200.0, 0.0 > */
 right 1.77*x
}

//------------------------------------------------------------------

light_source
{
 < 2500.0, 2500.0, 500.0 > //< 2500.0, 2500.0, 5000.0 >
 rgb < 0.72265625, 0.8046875, 0.80859375 > *1.5 // bright!?
 area_light x*100,z*100,5,5 circular orient
 area_illumination
}
/*
light_source
{
 < -50.0, 50.0, 0.0 >
 rgb < 0.3, 0.4, 0.8 > *1.1
}
*/
/*
#declare MyLight = light_source
{
 < -1000.0, 1000.0, 1000.0 >
 rgb < 0.72265625, 0.8046875, 0.80859375 > *0.25
// spotlight
// point_at < 0.0, 25.0, 100.0 >
// falloff 100.0
// radius 10.0
// fade_distance 50.0
// fade_power 4
}

union
{
 object { MyLight rotate < 0.0, 000.0, 0.0 > }
 object { MyLight rotate < 0.0, 036.0, 0.0 > }
 object { MyLight rotate < 0.0, 072.0, 0.0 > }
 object { MyLight rotate < 0.0, 108.0, 0.0 > }
 object { MyLight rotate < 0.0, 144.0, 0.0 > }
 object { MyLight rotate < 0.0, 180.0, 0.0 > }
 object { MyLight rotate < 0.0, 216.0, 0.0 > }
 object { MyLight rotate < 0.0, 252.0, 0.0 > }
 object { MyLight rotate < 0.0, 288.0, 0.0 > }
 object { MyLight rotate < 0.0, 324.0, 0.0 > }
 translate < -1000.0, 0000.0, -1000.0 >
}
*/

// simulate Earth below
plane {y,-9999 pigment {rgb <0.4,0.7,1>}}

//------------------------------

#declare MyRadius = 200.0;

//------------------------------

#declare PositiveBump = normal
{
 bump_map
 { // use your file name
 png "balloon2bump"
 map_type 0 interpolate 2 }
 translate -0.5
 rotate < 90.0, 0.0, 0.0 >
 scale MyRadius*2 // 200*2=400, multiply by bump_size
 bump_size 0.02 // this equates to 8 after scale
}

#declare NegativeBump = normal // invert surface normal
{
 bump_map
 { // use your file name
  png "balloon2bump"
  map_type 0 interpolate 2 }
 translate -0.5
 rotate < 90.0, 0.0, 0.0 >
 scale -MyRadius*2 // 200*2=400, multiply by bump_size
 bump_size 0.04 // this equates to 16 after scale
}

#declare MyOuterBalloonFinish = finish
{
 reflection   0.1 // I'm guessing here
 //crand        0.10 // grainy near shadows! Is it needed??
}

#declare MyInnerBalloonFinish = finish
{
 brilliance   1.50
 phong albedo 0.05
 metallic     0.00
 ambient      0.00
 emission     0.00
 reflection   0.50 // this much needed? or not?
}

#declare MyOuterBalloonTexture = texture
{
 pigment
 {
  image_map
  {
   png "balloon2bump"
   gamma 1
   map_type 0
   interpolate 2
   once
   transmit all 0.4 /* added to make partially transparent, change or remove? */
  }
  translate -0.5
  rotate < 90.0, 0.0, 0.0 >
  scale MyRadius*2
 }
 normal
 {
  gradient y
  normal_map
  { /* index number is based on balloon size, upper part height */
   [ 0.2625 PositiveBump] // top
   [ 0.2625 NegativeBump] // bottom
  }
  scale <1,1.5*MyRadius,1> // set to balloon height
 }
 finish { MyOuterBalloonFinish }
}

#declare MyInnerBalloonTexture = texture
{
 pigment { color rgb < 0.7686275,  0.7607843,  0.7333333 >
  transmit 0.4 /* added to make partially transparent, change or remove? */
 }
 normal
 {
  gradient y
  normal_map
  { /* set index values to 0.175 if torus scale <1,0.5,1>, same above */
   [ 0.2625 PositiveBump]
   [ 0.2625 NegativeBump]
  }
  scale <1,1.5*MyRadius,1>
 }
 finish { MyInnerBalloonFinish }
}

//------------------------------

#declare UpperBalloonShape = torus
/* Balloon Radius: 175 m /Launcher Radius: 10 m */
{
 95.0, 105.0
 scale < 1.0, 0.75, 1.0 >
 /* if 0.5*y, use normal_map 0.175 not 0.2625 (0.175*1.5, 0.5*1.5=0.75) */
} /* I changed that to get tall fat appearance, not required
but must change everything back again if not used this way */

#declare LowerBalloonShape = difference
{
 sphere { < 0.0, 0.0, 0.0 >, MyRadius }
 cylinder { < 0.0, 0.0, 0.0 >, < 0.0, /*175.001*/MyRadius+0.001, 0.0 >,
MyRadius+0.001 }
 scale < 1.0, 1.5, 1.0 >
}

#declare MyBalloonHullOutside = merge // union causes artefacts??
{
 object { UpperBalloonShape }
 object { LowerBalloonShape }
 texture { MyOuterBalloonTexture }
}

#declare MyBalloonHull = difference
{
 object { MyBalloonHullOutside }
 object
 {
  MyBalloonHullOutside
  scale 0.99999 // causing artefacts??
  texture { MyInnerBalloonTexture }
 }
 cylinder  // Launcher Openings
 {
  < 0.0, -((MyRadius*1.5)+0.001), 0.0 >, < 0.0, (MyRadius+0.001), 0.0 >, 3.5
  texture { MyInnerBalloonTexture }
 }
// plane {z,0} // only to see inside
}

#declare Launcher = difference
{
 union
 {
  #declare MyLength = 10.0;
  #declare MyHeight = 0.0;
  #declare MyTop = 35.0;
  cylinder {
   < 0.0, -((MyRadius*1.5)+30.0), 0.0 >,
   < 0.0, MyTop, 0.0 >, 3.5 }
  box { < MyLength, -MyHeight, -0.1 >, < -MyLength, MyTop, 0.1 >
   rotate <0.0, 000.0, 0.0 > }
  box { < MyLength, -MyHeight, -0.1 >, < -MyLength, MyTop, 0.1 >
   rotate <0.0, 045.0, 0.0 > }
  box { < MyLength, -MyHeight, -0.1 >, < -MyLength, MyTop, 0.1 >
   rotate <0.0, 090.0, 0.0 > }
  box { < MyLength, -MyHeight, -0.1 >, < -MyLength, MyTop, 0.1 >
   rotate <0.0, 135.0, 0.0 > }
  box { < MyLength, -MyHeight, -0.1 >, < -MyLength, MyTop, 0.1 >
   rotate <0.0, 180.0, 0.0 > }
  box { < MyLength, -MyHeight, -0.1 >, < -MyLength, MyTop, 0.1 >
   rotate <0.0, 225.0, 0.0 > }
  box { < MyLength, -MyHeight, -0.1 >, < -MyLength, MyTop, 0.1 >
   rotate <0.0, 270.0, 0.0 > }
  box { < MyLength, -MyHeight, -0.1 >, < -MyLength, MyTop, 0.1 >
   rotate <0.0, 315.0, 0.0 > }
 }
 cylinder {
  < 0.0, -((MyRadius*1.5)+30.001), 0.0 >,
  < 0.0, MyTop+0.001, 0.0 >, 3.3 }
 pigment { color rgb 1.0 }
}

#declare DoublePositionLight = union
{
 union
 {
  cylinder { < 0.0, 0.0,  2.5 > < 10.0, 0.0,  2.5 > 0.20 }
  cylinder { < 0.0, 0.0, -2.5 > < 10.0, 0.0, -2.5 > 0.20 }
  pigment { color rgb < 0.05, 0.05, 0.05 > }
  finish { MyOuterBalloonFinish }
 }
 union
 {
  sphere { < 10.0, 0.0, 2.5 > 0.35 }
  sphere { < 10.0, 0.0, -2.5 > 0.35 }
  pigment { color rgbf < 1.0, 0.0, 0.0, 0.5 > }
  finish { ambient rgb < 0.3, 0.1, 0.1 > }
 }
 union
 {
  light_source
  {
   < 10.0, 0.0, 2.5 >
   rgb < 0.7, 0.0, 0.0 > *10.0
   fade_distance 50.0
   fade_power 4
  }
  light_source
  {
   < 10.0, 0.0, -2.5 >
   rgb < 0.7, 0.0, 0.0 > *1.0
   fade_distance 50.0
   fade_power 4
  }
 }
}

#declare PositionLights = union
{
 #declare MyDistance = MyRadius-0.1;
 object { DoublePositionLight translate < MyDistance, 0.0, 0.0 >
  rotate < 0.0, 000.0, 0.0 > }
 object { DoublePositionLight translate < MyDistance, 0.0, 0.0 >
  rotate < 0.0, 045.0, 0.0 > }
 object { DoublePositionLight translate < MyDistance, 0.0, 0.0 >
  rotate < 0.0, 090.0, 0.0 > }
 object { DoublePositionLight translate < MyDistance, 0.0, 0.0 >
  rotate < 0.0, 135.0, 0.0 > }
 object { DoublePositionLight translate < MyDistance, 0.0, 0.0 >
  rotate < 0.0, 180.0, 0.0 > }
 object { DoublePositionLight translate < MyDistance, 0.0, 0.0 >
  rotate < 0.0, 225.0, 0.0 > }
 object { DoublePositionLight translate < MyDistance, 0.0, 0.0 >
  rotate < 0.0, 270.0, 0.0 > }
 object { DoublePositionLight translate < MyDistance, 0.0, 0.0 >
  rotate < 0.0, 315.0, 0.0 > }
}

union
{
 object { MyBalloonHull }
 object { Launcher }
// object { PositionLights } // slow, fast if commented out
}

background { rgb < 0.02392157,  0.03490196,  0.04627451 > }


Post a reply to this message

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