File:Bright star lens flare 1.png
Original file (2,400 × 1,800 pixels, file size: 1.26 MB, MIME type: image/png)
Captions
Summary
editDescriptionBright star lens flare 1.png |
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
//
- include "functions.inc"
- include "shapes.inc"
- 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}
}
- 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
}
- declare raytex1= pigment {ray1}
- 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) ]
}
}
}
- 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}
}
- end
object {
effekt1()
}
#macro Pentagon()
- declare radius1=1;
- declare deltafii1=2*pi/5;
- declare x1= radius1*sin(deltafii1) ;
- declare y1= radius1*cos(deltafii1) ;
- declare z1=0;
- declare x2= radius1*sin(deltafii1*2) ;
- declare y2= radius1*cos(deltafii1*2) ;
- declare z2=0;
#declare x3= radius1*sin(deltafii1*3) ;
- declare y3= radius1*cos(deltafii1*3) ;
- declare z3=0;
- declare x4= radius1*sin(deltafii1*4) ;
- declare y4= radius1*cos(deltafii1*4) ;
- declare z4=0;
#declare x5= radius1*sin(deltafii1*5) ;
- declare y5= radius1*cos(deltafii1*5) ;
- declare z5=0;
polygon { 5,
<x1, y1, z1>,
<x2, y2, z2>,
<x3, y3, z3>,
<x4, y4, z4>,
<x5, y5, z5>
}
- end
#macro Hexagon()
- declare radius1=1;
- declare deltafii1=2*pi/6;
- declare x1= radius1*sin(deltafii1) ;
- declare y1= radius1*cos(deltafii1) ;
- declare z1=0;
- declare x2= radius1*sin(deltafii1*2) ;
- declare y2= radius1*cos(deltafii1*2) ;
- declare z2=0;
#declare x3= radius1*sin(deltafii1*3) ;
- declare y3= radius1*cos(deltafii1*3) ;
- declare z3=0;
- declare x4= radius1*sin(deltafii1*4) ;
- declare y4= radius1*cos(deltafii1*4) ;
- declare z4=0;
#declare x5= radius1*sin(deltafii1*5) ;
- declare y5= radius1*cos(deltafii1*5) ;
- declare z5=0;
#declare x6= radius1*sin(deltafii1*6) ;
- declare y6= radius1*cos(deltafii1*6) ;
- declare z6=0;
polygon { 6,
<x1, y1, z1>,
<x2, y2, z2>,
<x3, y3, z3>,
<x4, y4, z4>,
<x5, y5, z5>,
<x6, y6, z6>
}
- end
#macro Octagon()
- declare radius1=1;
- declare deltafii1=2*pi/8;
- declare x1= radius1*sin(deltafii1) ;
- declare y1= radius1*cos(deltafii1) ;
- declare z1=0;
- declare x2= radius1*sin(deltafii1*2) ;
- declare y2= radius1*cos(deltafii1*2) ;
- declare z2=0;
#declare x3= radius1*sin(deltafii1*3) ;
- declare y3= radius1*cos(deltafii1*3) ;
- declare z3=0;
- declare x4= radius1*sin(deltafii1*4) ;
- declare y4= radius1*cos(deltafii1*4) ;
- declare z4=0;
#declare x5= radius1*sin(deltafii1*5) ;
- declare y5= radius1*cos(deltafii1*5) ;
- declare z5=0;
#declare x6= radius1*sin(deltafii1*6) ;
- declare y6= radius1*cos(deltafii1*6) ;
- declare z6=0;
#declare x7= radius1*sin(deltafii1*7) ;
- declare y7= radius1*cos(deltafii1*7) ;
- declare z7=0;
#declare x8= radius1*sin(deltafii1*8) ;
- declare y8= radius1*cos(deltafii1*8) ;
- 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>
}
- end
- 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
- 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}
}
- end
- declare stream1=1;
- declare stream2=2;
- declare vali1=0.1;
- declare vali2=0.2;
- declare degrad=pi/180.0;
- declare fii=115*degrad;
- declare xs1=0;
- declare ys1=0;
- declare rmin=0.05;
- declare rmax=0.2;
- for (n,1,10)
- declare a=RRand(vali1,vali2 , 0);
- declare b=RRand(rmin,rmax , 1);
#declare c=RRand(0,1 , 1);
#declare d=RRand(0,1 , 1);
- declare xs1=xs1+sin(fii)*a;
- declare ys1=ys1+cos(fii)*a;
- declare rs1=b*xs1;
- declare r1=1;
- declare g1=1;
#declare b1=1;
- declare trans1=0.5;
- declare emis1=g1;
- 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
}
- 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;
- for (n,1,400)
object
{
star1
scale 1/10
- declare a1=RRand(0,1,Stream2);
- declare x1=RRand(-1, 1, Stream1);
- 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
}
- end
- 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- 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/Time | Thumbnail | Dimensions | User | Comment | |
---|---|---|---|---|---|
current | 17:34, 23 January 2023 | 2,400 × 1,800 (1.26 MB) | Merikanto (talk | contribs) | Update: error correct, nebula ... | |
15:30, 23 January 2023 | 1,600 × 1,200 (522 KB) | Merikanto (talk | contribs) | Uploaded own work with UploadWizard |
You cannot overwrite this file.
File usage on Commons
There are no pages that use this file.
Metadata
This file contains additional information such as Exif metadata which may have been added by the digital camera, scanner, or software program used to create or digitize it. If the file has been modified from its original state, some details such as the timestamp may not fully reflect those of the original file. The timestamp is only as accurate as the clock in the camera, and it may be completely wrong.
PNG file comment |
|
---|---|
File change date and time | 17:32, 23 January 2023 |
Software used |