POV-Ray : Newsgroups : povray.text.scene-files : 2d gradient pattern for pigments Server Time
31 Oct 2024 08:15:16 EDT (-0400)
  2d gradient pattern for pigments (Message 1 to 1 of 1)  
From: Christoph Hormann
Subject: 2d gradient pattern for pigments
Date: 6 Jan 2001 04:22:17
Message: <3A56E3CA.7055F9EB@gmx.de>
This is the code for the picture in p.b.i. 

The parameters of the macro are:

- PigX : Pigment the gradient is calculated from
- Plane : Normal vector of the significant plane
- Scale : Scale of the gradient pattern

BEGIN Pov-code

// 2d gradient pattern for pigments
// January 2001 Christoph Hormann <chr### [at] gmxde>

#version unofficial MegaPov 0.6;          
        
camera {   
  location    12*z            
  direction   z
  sky         z  
  up          z  
  right       x
  look_at     <0.0, 0.0, 0.0> 
  angle       34
}                         
 
//------------------------------------------------  

#macro Pigment_Gradient_2d (PigX, Plane, Scale)
     
  #local Pigm_Test=
  pigment {  
    gradient Plane  
    color_map { 
      [0.00 rgb 0.0 ]
      [1/Scale rgb 1.0 ]      
    }             
  }  
   
   
  #local Pigm_Disp=
  pigment {  
    gradient Plane  
    pigment_map { 
      [0.00 color rgb 0 ]
      [1.00 PigX ]    
    }             
  } 
  
  Pigm_Test  
     
  warp {
    displace {
      Pigm_Disp
      type 1
    }
  }     
        
     
#end
    
//------------------------------------------------      
    
#declare Pigm_Basic01=
pigment {  
    bozo  
    color_map { 
      [0.00 rgb 0.0 ]
      [0.45 rgb 0.1 ]   
      [0.50 rgb 0.9 ]
      [1.00 rgb 1.0 ]      
    } 
    turbulence 0.3
    scale 0.7           
}   
    
   
#declare Pigm_Basic02=
pigment {  
    gradient x  
    color_map { 
      [0.00 rgb 0.0 ]
      [0.55 rgb 0.1 ]   
      [0.60 rgb 0.9 ]
      [1.00 rgb 1.0 ]      
    }  
    turbulence 0.5     
    scale 1.2        
}   
 
 
#declare T_XX_01=        
texture { 
   pigment { Pigm_Basic01 } 
   finish { ambient 1 diffuse 0 } 
}     

#declare T_XX_01s=        
texture { 
   pigment { 
     Pigment_Gradient_2d (Pigm_Basic01, z, 15)     
   } 
   finish { ambient 1 diffuse 0 } 
}  
 
         
#declare T_XX_02=        
texture { 
   pigment { Pigm_Basic02 } 
   finish { ambient 1 diffuse 0 } 
}     

#declare T_XX_02s=        
texture { 
   pigment { 
     Pigment_Gradient_2d (Pigm_Basic02, z, 15)    
   } 
   finish { ambient 1 diffuse 0 }  
}   
  
  
//------------------------------------------------     
          
box { 
  <-1.5, -1.5, 0>, <1.5, 1.5, 0>   
  texture { T_XX_01 }    
  translate <1.6, 1.6, 0>
}  

box { 
  <-1.5, -1.5, 0>, <1.5, 1.5, 0>   
  texture { T_XX_01s }    
  translate <-1.6, 1.6, 0>
}    
    
//------------------------------------------------
   
box { 
  <-1.5, -1.5, 0>, <1.5, 1.5, 0>   
  texture { T_XX_02 }    
  translate <1.6, -1.6, 0>
}  

box { 
  <-1.5, -1.5, 0>, <1.5, 1.5, 0>   
  texture { T_XX_02s }    
  translate <-1.6, -1.6, 0>
}    

END Pov-code

-- 
Christoph Hormann <chr### [at] gmxde>
IsoWood include, radiosity tutorial, TransSkin and other 
things on: http://www.schunter.etc.tu-bs.de/~chris/


Post a reply to this message

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