POV-Ray : Newsgroups : povray.binaries.images : Attempting fuzzy isosurfaces. : Attempting fuzzy isosurfaces. Server Time
29 Jul 2024 22:29:52 EDT (-0400)
  Attempting fuzzy isosurfaces.  
From: William F Pokorny
Date: 7 Jul 2013 07:10:38
Message: <51d94cae@news.povray.org>
I've been trying for fuzzy isosurfaces on and off. These images were on 
the order of hours to render on i7 920, and with all images, the 

The larger shapes are therefore hollow. Their being hollow allowed for a 
light inside the abstract sun image where there the skin was set up to 
be ~50% porous. The yellow mixed in the red ball in that image is really 
the inner surface color of the hollow shape being lit. Example source 
for the orange ball image herein.
Bill P.

//------------------------------------ fuzzy.pov (Orange)
global_settings {
     assumed_gamma 1.0
     ambient_light srgb <1.0,1.0,1.0>
}
#declare Grey25 = srgbft <0.25,0.25,0.25,0.0,0.0>;
background { color Grey25 }
#declare Camera00 = camera {
     perspective
     location <0.0,2.0,-2.0>
     sky <0.0,1.0,0.0>
     angle 30.0
     right x*(image_width/image_height)
     look_at <0.0,0.0,0.0>
}
#declare White = srgbft <1.0,1.0,1.0,0.0,0.0>;
#declare Light00 = light_source { <50.0,50.0,-50.0>, White }
#include "functions.inc"
#declare F_SphereB = function (x,y,z) {
     f_sphere(x-0.0,y,z,0.5)
}
#declare F_SphereABC = function (x,y,z) { 
F_SphereB(x,y,z)-(f_noise3d(x*700.00,y*700.00,z*700.00)*0.100)-0.00150
}
#declare F_SphereABC_inv = function (x,y,z) { 
-(F_SphereB(x,y,z)-(f_noise3d(x*700.00,y*700.00,z*700.00)*0.100))-0.00150
}
#declare F_Thing01 = function (x,y,z) {
     max(F_SphereABC(x,y,z),F_SphereABC_inv(x,y,z))
}
#declare F_PigmMap01 = function (x,y,z) {
     0.0 +
     ( (F_Thing01(x,y,z)<0.0001) * (F_SphereABC(x,y,z)<-0.0015) * 0.3333 ) +
     ( (F_Thing01(x,y,z)<0.0001) * (F_SphereABC_inv(x,y,z)<-0.0015) * 
0.6667 ) +
     ( (F_Thing01(x,y,z)<0.0001) * f_snoise3d(x*20.0,y*20.0,z*20.0) * 
0.0010 )
}
#declare Sweet_Corn = srgbft <0.9843,0.9176,0.5490,0.0000,0.0000>;
#declare Supernova = srgbft <1.0000,0.7882,0.0039,0.0000,0.0000>;
#declare Supernova_less = srgbft <0.9500,0.7382,0.0000,0.0000,0.0000>;
#declare Supernova_more = srgbft <1.0000,0.8382,0.0539,0.0000,0.0000>;
#declare Sunshade = srgbft <1.0000,0.6196,0.1725,0.0000,0.0000>;
#declare Sunshade_less = srgbft <0.9500,0.5696,0.1225,0.0000,0.0000>;
#declare Sunshade_more = srgbft <1.0000,0.6696,0.2225,0.0000,0.0000>;
#declare ColorMap01 = color_map {
     [ 0.0000 Sweet_Corn ]
     [ 0.3313 Sweet_Corn ]
     [ 0.3323 Supernova_less ]
     [ 0.3333 Supernova ]
     [ 0.3343 Supernova_more ]
     [ 0.3353 Sweet_Corn ]
     [ 0.6647 Sweet_Corn ]
     [ 0.6657 Sunshade_less ]
     [ 0.6667 Sunshade ]
     [ 0.6677 Sunshade_more ]
     [ 0.6687 Sweet_Corn ]
     [ 1.0000 Sweet_Corn ]
}
#declare Pigm01 = pigment {
     function  { F_PigmMap01(x,y,z) }
     color_map { ColorMap01 }
}
#declare Thing01 = isosurface {
     function { F_Thing01(x,y,z) }
     contained_by { box { <-2.1,-2.1,-2.1>,<2.1,2.1,2.1> } }
     threshold 0.0
     accuracy 0.0001
     max_gradient 80.0
     all_intersections
}
#declare F_Hmm = finish {
     ambient srgb <0.3,0.3,0.3>
     emission srgb <0.0,0.0,0.0>
     diffuse albedo 0.70
}
#declare T_Hmm = texture {
     pigment { Pigm01 }
     finish { F_Hmm }
}
#declare ObjectHmm = object {
     object { Thing01 }
     texture { T_Hmm }
}
//-------------------------
light_source { Light00 }
camera { Camera00 }
object { ObjectHmm }


Post a reply to this message


Attachments:
Download 'redsungoldrays.jpg' (391 KB) Download 'nerf.jpg' (123 KB) Download 'fuzzy.jpg' (222 KB)

Preview of image 'redsungoldrays.jpg'
redsungoldrays.jpg

Preview of image 'nerf.jpg'
nerf.jpg

Preview of image 'fuzzy.jpg'
fuzzy.jpg


 

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