|
|
Simply an isoabstract (with a touch of good old RSOCP).
Because source is small, here it is:
#version 3.7;
global_settings {
assumed_gamma 2.2
noise_generator 3
}
#include "stdinc.inc"
camera {
location <0,2.5,-4.5>
direction 1.5*z
right -x*image_width/image_height
look_at <0.5,-0.4,0>
}
#declare p1 = function {pattern {bumps rotate 60 scale 1.2}}
#declare p2 = function {pattern {crackle metric 1}}
#declare f1 = function (x,y,z) {(sin(p1(x,y,z)*24*pi)+1)*0.5}
#declare f2 = function (x,y,z) {(sin(p2(x,y,z)*24*pi)+1)*0.5*(1-p2(x,y,z))}
#declare t1 =
texture {
pigment {color rgb <0,0,1>}
finish {ambient 0 reflection {0.6 metallic 0.5}}
}
#declare t2 =
texture {
pigment {color rgb <0,1,1>}
finish {emission 1}
}
#declare s = function {f1 (x*1.5,y*1.5,z*1.5)-0.001}
isosurface {
function {s (x,y,z)}
contained_by {sphere {<0,0,0>,2.2}}
max_gradient 100
texture {
onion
texture_map {
[0 t2]
[1 t1]
}
scale 1.15
}
scale 0.5
}
#declare t3 =
texture {
pigment {color rgb <2,0,0>}
finish {ambient 0 reflection {0.6 metallic 0.5}}
}
#declare t4 =
texture {
pigment {color rgb <1,1,0>}
finish {emission 3}
}
#declare p = function {y+1+f2 (x,y,z)}
isosurface {
function {p (x*0.8,y*0.8,z*0.8)}
contained_by {box {<-1000,-200,-1000>,<1000,-1,1000>}}
max_gradient 100
texture {
gradient y
texture_map {
[0 t4]
[1 t3]
}
translate y*-0.249
}
translate y*0.6
}
// end of file
Norbert Kern
Post a reply to this message
Attachments:
Download 'just for fun.jpg' (1180 KB)
Preview of image 'just for fun.jpg'
|
|
|
|
Very exciting! :-)
I still try to understand how it works in detail. ^^
Btw, my Povray told me:
| Shutdown Warning: The maximum gradient found was 57.876, but
| max_gradient of the isosurface was set to 100.000. Adjust
| max_gradient to get a faster rendering of the isosurface.
> isosurface {
> function {s (x,y,z)}
> contained_by {sphere {<0,0,0>,2.2}}
> max_gradient 100
> […]
I don't know how much faster the rendering would be with a lower
max_gradient.
Lars R.
Post a reply to this message
|
|
|
|
Le 14-04-22 12:24, Lars R. a écrit :
> Very exciting! :-)
>
> I still try to understand how it works in detail. ^^
>
>
> Btw, my Povray told me:
>
> | Shutdown Warning: The maximum gradient found was 57.876, but
> | max_gradient of the isosurface was set to 100.000. Adjust
> | max_gradient to get a faster rendering of the isosurface.
>
>> isosurface {
>> function {s (x,y,z)}
>> contained_by {sphere {<0,0,0>,2.2}}
>> max_gradient 100
>> […]
>
>
> I don't know how much faster the rendering would be with a lower
> max_gradient.
>
> Lars R.
>
Just try rendering using max_gradient 57.
You may also try replacing max_gradient as follow:
#declare Min_Factor = 0.6;
evaluate 57/Min_Factor, sqrt(1/Min_Factor), 0.7
Note: The documentation give the following formula for the second
parameter, or overevaluation factor:
sqrt(found max_gradient/(found max_gradient * min_factor))
Whitch is the same as sqrt(1/min_factor)
Using evaluate is often faster than using max_gradient.
Alain
Post a reply to this message
|
|