File:Bright star lens flare 1.png

Original file(2,400 × 1,800 pixels, file size: 1.26 MB, MIME type: image/png)

Captions

Captions

Bright star and lens flares

Summary

edit
Description
English: Bright star and lens flares. POv-Ray rendering.
Date
Source Own work
Author Merikanto

POV-Ray source code

//

// bright star, lens flare // pov-ray 3.7 src // 23.1.2023 0000.0000 //


  1. include "functions.inc"
  2. include "shapes.inc"
  1. include "rand.inc"


background{ color 0}

camera {

       location <0,0, -2>
       look_at <0, 0, 0>
       angle 50

}

/* light_source {

       <100,-100,100>*10000
       color rgb<1,1,1>*2.0

}

  • /


 //object {

//sphere {0, 10000 }


sky_sphere {


// nebula 1


pigment 
{

wrinkles

 scale 1

turbulence 0.3


color_map { [0 color rgbt <1/10,0,0,0>] [0.5 color rgbt <1/10,1/10,1/10,1>]

} }


pigment {

bozo

 scale 1/200

color_map { [0 color rgbt <1,1,1,0>*2]

[0.11 color rgbt <1,1,1,1>]

[1 color rgbt <1,1,1,1>]

} }

pigment {

bozo

 scale 1/300

color_map { [0 color rgbt <1,1,1,0>]

[0.12 color rgbt <1,1,1,1>]

[1 color rgbt <1,1,1,1>]

} }


pigment {

bozo

 scale 1/600

color_map { [0 color rgbt <1,1,1,0>]

[0.2 color rgbt <1,1,1,1>]

[1 color rgbt <1,1,1,1>]

} }


//

//finish {ambient 1}

}



  1. declare rays1 = pigment {


function {

      0.01*f_granite( atan2(x,y)/(pi) ,0,0 )*0.1/pow( (x*x+y*y),2) 

}


//frequency 5

 //scale 1/10

//scale y/50

//poly_wave 2

//sine_wave


color_map {

[0 rgb <1,1,1> transmit 1]  
[1 rgb <1,1,1>*1 transmit 0]  

}

//  warp {spherical } 

// rotate y*90


}



#declare ray1 = pigment {


//function {

//     (1*f_agate( atan2(y,x),0,0)*0+sin(atan2(y,x)/(pi*2)))


// f_spherical(x,y,z) //*0.1/pow( (x*x+y*y),2)

//}

spherical  

// cylindrical

  scale 0.5
 translate x*0.5         

//frequency 5

 //scale 1/10

scale y/60 scale x*3/2

//poly_wave 2

//sine_wave


color_map {

[0 rgb <1,1,1> transmit 1]  
[1 rgb <1,1,1>*1 transmit 0.9]  

}

//  warp {spherical } 
// rotate z*90


}


#declare sphere1 = pigment {


spherical  
  
 poly_wave 5
   scale 1
   color_map 
   {
   [0 rgb <1,1,1> transmit 1]  
   [1 rgb <1,1,1>*1 transmit 0]  
   }
  
  
//  warp {spherical } 
// rotate z*90


}


 #declare sphere2 = pigment {


spherical  
  
 poly_wave 5
 //  scale 2
   color_map 
   {
   [0 rgb <1,1,1> transmit 1]  
   [1 rgb <1,1,1>*1 transmit 0.5]  
   }
  
  
//  warp {spherical } 
// rotate z*90


}

  #declare sphere3 = pigment {


spherical  
  
// poly_wave 5
   scale 2
   color_map 
   {
   [0 rgb <1,1,1> transmit 1]  
      [0.45 rgb <1,1,1> transmit 1]  
      [0.5 rgb <1,1,1>*1 transmit 0.998] 
   [0.55 rgb <1,1,1>*1 transmit 1]
   [1 rgb <1,1,1>*1 transmit 1]
   }
  
  
//  warp {spherical } 
// rotate z*90


}


   #declare sphere4 = pigment {


spherical  
  
 poly_wave 5
   scale 1
   color_map 
   {
   [0 rgb <1,1,1> transmit 1]  
 //  [0.05 rgb <1,1,1>*1 transmit 1]
   [1 rgb <1,1,1>*1 transmit 0.9]
   }
  
  
//  warp {spherical } 
// rotate z*90


}



   #declare flare1 = pigment {


function {

// f_granite( atan2(x,y)*5 ,x*5,y*5 )

 f_bozo( atan2(x,y)*pi*4 ,x*pi,y*pi )

// f_agate( atan2(x,y)*5 ,x*5,y*5 )

// f_noise3d( atan2(x*1000,y*1000) ,x,y )

// 1* f_noise3d( atan2(x,y)*30 ,x*20,y*20 )

*.004/pow( (x*x+y*y),2) 

}

// spherical

// scallop_wave 

// poly_wave 1/10

   scale 0.8
   color_map 
   {
   [0 rgb <1,1,1>*1 transmit 1]  
 //  [0.5 rgb <1,1,1>*1 transmit 1]   
  //   [0.5 rgb <1,1,1>*1 transmit 0.8]
   [1 rgb <1,1,1>*1 transmit 0.7]
   }
  
  
//  warp {spherical } 
// rotate z*90


}


    #declare flare2 = pigment {


function {
  // //  *.003/pow( (x*x+y*y),1) 

// f_granite( atan2(x,y)*5 ,x*5,y*5 )

// f_bozo( atan2(x,y)*pi*4 ,x*pi,y*pi )

// f_agate( atan2(x,y)*5 ,x*5,y*5 )

 // f_wood( atan2(x,y)*pi*4 ,x*pi,y*pi )

// f_noise3d( atan2(x*1000,y*1000) ,x,y )

// 1* f_noise3d( atan2(x,y)*30 ,x*20,y*20 )

// f_crackle( atan2(x,y)*pi*3 ,x*pi,y*pi )
 // f_leopard( atan2(x,y)*12 ,x*5,y*5 )
 f_bozo( atan2(x,y)*pi*4 ,x*pi,y*pi )
* 2*f_noise3d( atan2(x,y)*30 ,x*20,y*20 ) 
*.003/pow( (x*x+y*y),1) 

}

 turbulence 0.01

// spherical

// scallop_wave 

// poly_wave 1/10

   scale 2
   color_map 
   {
   [0 rgb <1,1,1>*1 transmit 1]  
 //  [0.5 rgb <1,1,1>*1 transmit 1]   
  //   [0.5 rgb <1,1,1>*1 transmit 0.8]
   [1 rgb <1,1,1>*1 transmit 0.7]
   }
  
  
//  warp {spherical } 
// rotate z*90


}



  1. declare raytex1= pigment {ray1}


  1. declare rays8= texture {

pigment {

average

pigment_map {

[1  ray1  ]
[1   ray1  rotate z*90 ]
 [1  ray1  rotate z*180 ]
[1   ray1  rotate z*270 ]  
 [1  ray1 scale 0.5 rotate z*45 ]   
[1   ray1 scale 0.5  rotate z*(90+45) ]
 [1  ray1 scale 0.5  rotate z*(180+45) ]
[1   ray1 scale 0.5  rotate z*(270+45) ] 

}

}

}










  1. macro effekt1()


object { disc {0,<0,0,-1>,1 }


texture { rays1  finish {ambient 2} scale 0.5 rotate z*40} 
texture { rays8 finish {ambient 5} scale 0.4 rotate z*35}  

 texture {pigment {sphere1 } finish {ambient 2} scale 0.5 }
  
 
 texture {pigment {sphere2 } finish {ambient 2} scale 0.75}


// texture {pigment {sphere3 } finish {ambient 2} scale 0.5 }

   texture {pigment {sphere4 } finish {ambient 1} }
  
  
       texture {pigment {flare1 } finish {ambient 1}  scale 0.6}
 
     texture {pigment {flare2 } finish {ambient 1}  scale 0.5}



}

  1. end




object {


   effekt1() 



}





 #macro Pentagon() 
  1. declare radius1=1;
  2. declare deltafii1=2*pi/5;


  1. declare x1= radius1*sin(deltafii1) ;
  2. declare y1= radius1*cos(deltafii1) ;
  3. declare z1=0;
  1. declare x2= radius1*sin(deltafii1*2) ;
  2. declare y2= radius1*cos(deltafii1*2) ;
  3. declare z2=0;
 #declare  x3= radius1*sin(deltafii1*3) ;
  1. declare y3= radius1*cos(deltafii1*3) ;
  2. declare z3=0;
  1. declare x4= radius1*sin(deltafii1*4) ;
  2. declare y4= radius1*cos(deltafii1*4) ;
  3. declare z4=0;
#declare  x5= radius1*sin(deltafii1*5) ;
  1. declare y5= radius1*cos(deltafii1*5) ;
  2. declare z5=0;
               polygon { 5,
               <x1, y1, z1>,
               <x2, y2, z2>,
               <x3, y3, z3>,          
               <x4, y4, z4>,       
               <x5, y5, z5>     
                 }
   
  1. end
#macro Hexagon() 
  1. declare radius1=1;
  2. declare deltafii1=2*pi/6;


  1. declare x1= radius1*sin(deltafii1) ;
  2. declare y1= radius1*cos(deltafii1) ;
  3. declare z1=0;
  1. declare x2= radius1*sin(deltafii1*2) ;
  2. declare y2= radius1*cos(deltafii1*2) ;
  3. declare z2=0;
 #declare  x3= radius1*sin(deltafii1*3) ;
  1. declare y3= radius1*cos(deltafii1*3) ;
  2. declare z3=0;
  1. declare x4= radius1*sin(deltafii1*4) ;
  2. declare y4= radius1*cos(deltafii1*4) ;
  3. declare z4=0;
#declare  x5= radius1*sin(deltafii1*5) ;
  1. declare y5= radius1*cos(deltafii1*5) ;
  2. declare z5=0;
 #declare  x6= radius1*sin(deltafii1*6) ;
  1. declare y6= radius1*cos(deltafii1*6) ;
  2. declare z6=0;
               polygon { 6,
               <x1, y1, z1>,
               <x2, y2, z2>,
               <x3, y3, z3>,          
               <x4, y4, z4>,       
               <x5, y5, z5>,     
                 <x6, y6, z6> 
                 }
   
  1. end


 #macro Octagon() 
  1. declare radius1=1;
  2. declare deltafii1=2*pi/8;


  1. declare x1= radius1*sin(deltafii1) ;
  2. declare y1= radius1*cos(deltafii1) ;
  3. declare z1=0;
  1. declare x2= radius1*sin(deltafii1*2) ;
  2. declare y2= radius1*cos(deltafii1*2) ;
  3. declare z2=0;
 #declare  x3= radius1*sin(deltafii1*3) ;
  1. declare y3= radius1*cos(deltafii1*3) ;
  2. declare z3=0;
  1. declare x4= radius1*sin(deltafii1*4) ;
  2. declare y4= radius1*cos(deltafii1*4) ;
  3. declare z4=0;
#declare  x5= radius1*sin(deltafii1*5) ;
  1. declare y5= radius1*cos(deltafii1*5) ;
  2. declare z5=0;
 #declare  x6= radius1*sin(deltafii1*6) ;
  1. declare y6= radius1*cos(deltafii1*6) ;
  2. declare z6=0;
 #declare  x7= radius1*sin(deltafii1*7) ;
  1. declare y7= radius1*cos(deltafii1*7) ;
  2. declare z7=0;
 #declare  x8= radius1*sin(deltafii1*8) ;
  1. declare y8= radius1*cos(deltafii1*8) ;
  2. declare z8=0;


               polygon { 8,
               <x1, y1, z1>,
               <x2, y2, z2>,
               <x3, y3, z3>,          
               <x4, y4, z4>,       
               <x5, y5, z5>,     
                 <x6, y6, z6> 
               <x7, y7, z7>,     
                 <x8, y8, z8>
                 }
   
  1. end



  1. macro gooni1(r1,g1,b1,trans1, emis1)

object {


  Pentagon() 
   
//  Hexagon() 
//  Octagon()
rotate z*30
       texture { 
 pigment { rgbt <r1,g1,b1,trans1>}
   finish {ambient emis1}
    }
      

}


#end



  1. macro flare_ring_1(trans1, emi1)

object {

disc {0,<0,0,-1>,1}


texture {

   pigment { 
   spherical  

poly_wave 1/2 // sine_wave

     color_map {
   [0/10 color rgbt <1,1,1,1>] 
   [3/10 color rgbt <1,1,1,1>]
   [5/10 color rgbt <1,1,1,trans1>]
         [7/10 color rgbt <1,1,1,1>]
    [10/10 color rgbt <1,1,1,1>]  
   }
 //   scale y/100
  //   rotate z*0
   }  
   
 finish {emission emi1}
}


  1. end



  1. declare stream1=1;
  2. declare stream2=2;
  1. declare vali1=0.1;
  2. declare vali2=0.2;
  1. declare degrad=pi/180.0;
  1. declare fii=115*degrad;
  1. declare xs1=0;
  2. declare ys1=0;
  1. declare rmin=0.05;
  1. declare rmax=0.2;
  1. for (n,1,10)


  1. declare a=RRand(vali1,vali2 , 0);
  2. declare b=RRand(rmin,rmax , 1);
#declare c=RRand(0,1 , 1);
#declare d=RRand(0,1 , 1);
  1. declare xs1=xs1+sin(fii)*a;
  2. declare ys1=ys1+cos(fii)*a;


  1. declare rs1=b*xs1;


  1. declare r1=1;
  2. declare g1=1;
#declare b1=1;
  1. declare trans1=0.5;
  2. declare emis1=g1;
  3. declare trans1=0.95+d/20;

// object {

flare_ring_1(trans1, emis1)

//gon1

 //  ring2  
// gooni1(r1,g1,b1,trans1, emis1)
  scale 1

//ring2 scale rs1 translate z*-0.0001*n translate x*xs1*1

translate y*ys1*1

}


  1. end


#declare spike1=  texture {
   pigment { 
  spherical  
//  onion
frequency 1

//once //once // rotate y*90

  poly_wave 1.5

//scallop_wave

  color_map {


 [0 color rgbt <1/2,1/2,1>/2 transmit 1 ]
    [0.6 color rgbt <1,1,1>*1.5  transmit 0.9 ]
      [1 color rgbt <1,1,1>*8  transmit 0.01  ] 
}  


    scale y/30 
    scale x*1
  
   }  
   
 finish {emission 0.2}
}



#declare star1=object {
 disc {0, <0,0,-1>, 1}
  hollow  
       texture {spike1 rotate z*35}
    texture {spike1 rotate z*90 rotate z*35 }
      texture {spike1 scale 0.5 rotate z*45 rotate z*35 }
         texture {spike1 scale 0.5 rotate z*-45 rotate z*35}

texture {

  pigment {
  
 

// spherical // ramp_wave

 function {
    (1-sqrt(x*x+y*y+z*z))

// exp((1-sqrt(x*x+y*y+z*z)))

// pow(-(x*x+y*y+z*z))    

}

poly_wave 26
  color_map {
   [0 rgbt <1,1,1,1>]
   [1 rgbt <1,1,1,0>*1]
   }
   }
 
}
// texture { texas1 finish {ambient 5} scale 0.05 rotate z*35}  


 finish {
 refraction 1

reflection 0

ambient 3
}

}


 #declare Stream1=1;
#declare Stream2=2;
  1. for (n,1,400)


object { star1 scale 1/10

  1. declare a1=RRand(0,1,Stream2);
  1. declare x1=RRand(-1, 1, Stream1);
  2. declare y1=RRand(-1, 1, Stream1);
#declare z1=RRand(0, 1, Stream1);

scale a1 *3

translate x*x1*10 translate y*y1*10 translate z*z1*10

}

  1. end




  1. declare nebula1=object {
   disc {0, <0,0,-1>,0.999 }


   texture {
   pigment {
 
   onion    
   frequency 1
   // scallop_wave 
   turbulence 0.1


   pigment_map 
   {   
   [-1 color rgb <0,0,0> transmit 1]
   [0   
   wrinkles scale 0.1
   color_map {[0 color rgb <0,0,0> transmit 1] [1 color rgb <1,0.2,0.2> transmit 0] }
   //color rgb <1,0,0> transmit 0  
   ]
   


   [1 color rgb <0,0,0> transmit 1]    


   }


   scallop_wave scale 2
   //warp {turbulence 0.2}
   //  warp {turbulence .1 octaves 16 omega .2 lambda 2}
   }


   finish { ambient 1}
   }


   }
 


//object {spark1() translate x*-1 }


object {nebula1 scale <5,5,1>/2 translate z*2 }

Licensing

edit
I, the copyright holder of this work, hereby publish it under the following license:
w:en:Creative Commons
attribution share alike
This file is licensed under the Creative Commons Attribution-Share Alike 4.0 International license.
You are free:
  • to share – to copy, distribute and transmit the work
  • to remix – to adapt the work
Under the following conditions:
  • attribution – You must give appropriate credit, provide a link to the license, and indicate if changes were made. You may do so in any reasonable manner, but not in any way that suggests the licensor endorses you or your use.
  • share alike – If you remix, transform, or build upon the material, you must distribute your contributions under the same or compatible license as the original.

File history

Click on a date/time to view the file as it appeared at that time.

Date/TimeThumbnailDimensionsUserComment
current17:34, 23 January 2023Thumbnail for version as of 17:34, 23 January 20232,400 × 1,800 (1.26 MB)Merikanto (talk | contribs)Update: error correct, nebula ...
15:30, 23 January 2023Thumbnail for version as of 15:30, 23 January 20231,600 × 1,200 (522 KB)Merikanto (talk | contribs)Uploaded own work with UploadWizard

There are no pages that use this file.

Metadata