POV-Ray : Newsgroups : povray.advanced-users : Editing or creating an image or heightfield in POV-Ray : Re: Editing or creating an image or heightfield in POV-Ray Server Time
25 Feb 2024 08:15:42 EST (-0500)
  Re: Editing or creating an image or heightfield in POV-Ray  
From: Thomas de Groot
Date: 14 Sep 2023 02:35:18
Message: <6502a9a6$1@news.povray.org>
Op 13/09/2023 om 19:33 schreef ingo:
> Thomas de Groot <tho### [at] degrootorg> wrote:
> 
>> Thanks for the pointer, Ingo!
>>
> 
> Here's an other version, using a patter function for the structure. First a
> union{hf box} then the intersection.
> 
> An other option, if you want to shape an island, in the insert menu/special
> shapes/meshmaker.inc/p_cylinder_crackle2 shows how to do displacement of mesh
> vertices. This in principle works for all things one can make with the mesh
> macros. You could extrude the island shape and then deform the mesh or build the
> island shape with multiple splines.
> 
> ---%<------%<------%<---
> 
> // PoVRay 3.7 Scene File " hf_intersection_2.pov"
> // author:  ingo
> // date:    2023-09-13
> //--------------------------------------------------------------------------
> 
> #version 3.7;
> global_settings{ assumed_gamma 1.0 }
> #default{ finish{ ambient 0.1 diffuse 0.7 }}
> 
> camera {
>    perspective angle 5               // front view
>    location  <20.0 , 0.0 ,-40.0>
>    right     x*image_width/image_height
>    look_at   <0.0 , 0.0 , 0.0>
> }
> 
> light_source{< 3000, 3000,-6000> rgb 1}
> 
> sky_sphere {
>    pigment {
>      gradient <0,1,0>
>      color_map {
>        [0.00 rgb <0.6,0.7,1.0>]
>        [0.35 rgb <0.1,0.0,0.8>]
>        [0.65 rgb <0.1,0.0,0.8>]
>        [1.00 rgb <0.6,0.7,1.0>]
>      }
>      scale 2
>    }
> }
> 
> 
> #declare Rock = union {
>    intersection{
>      height_field {
>        function 1000,1000 {
>          pattern {
>            gradient -y
>            scale .1
>            turbulence 0.7
>            octaves 12
>            lambda 1.5
>            omega 0.3
>          }
>        }
>      }
>      box{0,1.001}
>      scale <1,0.05,1>
>    }
>    box{<0,0,0>,<1,-1,1>}
>    translate <-0.5,0.5,-0.5>
> }
> 
> intersection{
>    object{
>      Rock
>      translate <0,-0.1,0>
>      pigment{rgb 1}
>    }
> 
>    object{
>      Rock
>      rotate <-90,0,0>
>      translate <0,0,0.1>
>      pigment{rgb 1}
>    }
> 
>    object{
>      Rock
>      rotate <90,90,0>
>      translate <-0.1,0,0>
>      pigment{rgb 1}
>    }
> 
>    rotate <-45,0,0>
> }
> 
> ---%<------%<------%<---
> 
> You can modify the patterns in the HF_function with the functions in
> https://ingoogni.nl/download/Gradients.zip
> 
> 
> ingo
> 
Thanks for all this ingo, very much appreciated indeed. I need to review 
all this at leisure.

I used displacement mapping a couple of years ago for stoneworks, using 
Poseray:

https://news.povray.org/povray.binaries.images/thread/%3C60e02637%40news.povray.org%3E/

And (I think) I tackled Meshmaker too somewhere/-time in a similar 
manner. I really /need/ to delve deeper in my archives (and my hazy 
memory).... :-/

-- 
Thomas


Post a reply to this message

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