|
![](/i/fill.gif) |
"PM 2Ring" <nomail@nomail> wrote:
> "Kenneth" <kdw### [at] earthlink net> wrote:
> > Which gave me an
> > idea!! I took the image, stuck it into Photoshop, and inverted it (whites
> > to blacks and blacks to whites.) I couldn't resist; hope you don't mind!
> > Ah, the evils of post-processing! :-)
> >
> > Here's the result...
>
> I like it! I'll try to post the craterfield generator tonight. I just need
> to write some docs for it...
I've written the docs, but now it looks like I can't upload .zip archives
(or maybe it's the downloading that causes archive corruption). Anyway,
here's a
simple scene file that can render using either a heightfield or a
isosurface, and a image to feed to it.
//-------------------------------------------
// Persistence of Vision Ray Tracer Scene Description File
// File: Crater.pov
// Desc: Render a contour map either as a heightfield or isosurface.
// Date: 2004.11.14
// Auth: PM 2Ring
//
// +A0.2 +AM2 +R3
// +A0.3 +AM2 +R2
#version 3.6;
//-------------------------------------------
#declare Use_Iso = 0; //Render using heightfield or isosurface?
global_settings {
assumed_gamma 1
}
camera {
location <0, 2.25, -3.5> * 3.25 // * 2.875
right x*image_width up y*image_height
direction z
angle 45
look_at -2.5*y
}
light_source {<1, 5, -3>*50 rgb 1}
//------------------------------------------
//RGB "rainbow" colour map
#declare CMRainbow =
color_map{
[1/8 rgb<0,0,0>]
[1/8 rgb<1,0,0>]
[2/8 rgb<1,0,0>]
[2/8 rgb<1,1,0>]
[3/8 rgb<1,1,0>]
[3/8 rgb<0,1,0>]
[4/8 rgb<0,1,0>]
[4/8 rgb<0,1,1>]
[5/8 rgb<0,1,1>]
[5/8 rgb<0,0,1>]
[6/8 rgb<0,0,1>]
[6/8 rgb<1,0,1>]
[7/8 rgb<1,0,1>]
[7/8 rgb<1,1,1>]
}
#declare CMIce0 =
color_map{
[0 rgb <.1,.075,0.025>]
[0.25 rgb <0.2 0.2 0.25>]
[0.75 rgb <.7 .7 .8>]
[1 rgb 1]
}
#declare CMIce1 =
color_map{
[.15 rgb <.8 .9 1>]
[.85 rgb <1 1 1.15>]
}
#declare Shiny2 =
finish {
ambient .05
diffuse .85
specular .25 roughness 1e-3
//phong .25 phong_size 25
//brilliance 1.25
}
#declare TMount =
texture{
pigment {
#if(0)
rgb <1,1,1.2>
#else
gradient y
//wrinkles scale <.2 1 .2>
color_map{
//CMRainbow
//CMIce0
//CMIce1
[0 rgb <.6,.7,.8>][1 rgb <1 1 1.1>]
}
#end
}
finish {Shiny2}
}
//-------------------------------------------
//Heightfield stuff
#declare GX = 1; //horizontal repetitions
#declare GY = GX; //vertical repetitions
#declare Grid = 1500; //Heightfield grid size
//Heightfield source image
#declare CraterPigment =
pigment {
image_map {
//pgm "CraterHF.pgm"
jpeg "CraterHF.jpg"
interpolate 2
}
scale 2
translate <mod(GX,2), mod(GY,2), 0>
}
//Heightfield source function
#declare NFunc = function{pigment{CraterPigment}}
#declare Scale = 8;
#declare Height = .035;
#declare Craters =
#if(Use_Iso)
isosurface{
function {y-NFunc(GX*x,GY*z,0).x}
contained_by{box{<-1,0,-1>,<1,1,1>}}
accuracy 0.0075
max_gradient 12
}
#else
height_field{
function Grid,Grid {NFunc(GX*(2*x-1),GY*(1-2*y),0).x}
smooth
translate <-1, 0, -1>/2
scale <2 1 2>
}
#end
object {
Craters
texture{TMount}
scale <GX, Height, GY> * Scale/max(GX,GY)
}
background{rgb 0}
//-------------------------------------------
Post a reply to this message
Attachments:
Download 'craterhf.jpg' (183 KB)
Preview of image 'craterhf.jpg'
![craterhf.jpg](/povray.binaries.images/attachment/%3Cweb.438da5cd133a23eb3dc12f230%40news.povray.org%3E/craterhf.jpg?preview=1)
|
![](/i/fill.gif) |