POV-Ray : Newsgroups : povray.general : Proposed SuperPatch Benchmark : Proposed SuperPatch Benchmark Server Time
11 Aug 2024 01:26:53 EDT (-0400)
  Proposed SuperPatch Benchmark  
From: Mark Wagner
Date: 25 Sep 1999 01:06:39
Message: <37ec585f@news.povray.org>
I propose that this be adopted as the official POV-Ray SuperPatch Benchmark.
It is superior to the SkyVase image for the purpose of benchmarking the
SuperPatch, as it uses some SuperPatch specific components.

Mark

#include "colors.inc"

global_settings { assumed_gamma 1.0 max_trace_level 25 }

#declare lightDir = vnormalize(<-0.25,3.1,-4>);
#declare lightLen = 1.5e8;

camera {
 up <0, 1, 0>
 right <4/3, 0, 0>
 location  <0.0, .15, -.75>
 direction <0.0, 0.0, 1>
 angle     60
 look_at   <0,3,20>
}
light_source {
 0*x
 colour rgb 1
 translate lightDir*lightLen
 media_attenuation on
}

#declare baseRad = 6371.0;
#declare grndRad = baseRad;
#declare cloudDepth = 4;
#declare cloudBase  = baseRad+2;
#declare cloudTop   = cloudBase + cloudDepth;
#declare baseVal = cloudBase/cloudTop;
#declare topVal = 1;
#declare midVal = 0.25*(baseVal*3+topVal);
#declare cloudFn1 = function {
 pigment {
  spherical frequency -1
  colour_map {
   [baseVal rgb 0]
   [midVal rgb 1]
   [topVal rgb 0]
  }
 }
}
#declare cloudFn3 = function {
 min(1,
  max(0,
   abs(4*noise3d(x,y,z)-2)+
   0.5*abs(4*noise3d(x*3,y*3,z*3)-2)+
   0.25*abs(4*noise3d(x*9,y*9,z*9)-2)+
   0.125*abs(4*noise3d(x*27,y*27,z*27)-2)-
   1.875
  )
 )
}

#declare S = cloudTop/(3*cloudDepth);
isosurface{
  function{
    (cloudFn1(x,y,z)+cloudFn3(x*S,y*S,z*S)-1)*max(0,min(1,z*cloudBase*0.05))
  }
  eval
  max_trace 10
  method 2
  threshold 0.1
  sign -1
  bounded_by { sphere { 0, cloudTop*1.01 } }
  pigment{rgb 1}
  finish{ ambient .7 diffuse .3 }
  no_shadow
}
sphere { 0, grndRad
      pigment {
         color rgb <80,90,94>/255.0
      }
      finish {
         diffuse 0.2
         ambient 0.05*<80,90,94>/94
         specular 0.3
         roughness 0.001
         reflection .5
         brilliance 0.01
      }
      normal{
         bozo
         normal_map {
            [ 0.00 waves   0.050 translate -0.5 rotate -132 scale
1000*baseRad frequency  500*baseRad]
            [ 0.70 ripples 0.025 translate -0.5 rotate  213 scale
1000*baseRad frequency 1000*baseRad]
            [ 0.85 waves   0.015 translate -0.5 rotate  23  scale
1000*baseRad frequency 1000*baseRad]
            [ 1.00 ripples 0.005 translate -0.5 rotate  73  scale
1000*baseRad frequency 2000*baseRad]
         }
         scale 1/100
         scale 1/50
         warp { turbulence 1/5 octaves 2 lambda 5 omega 1/5 }
         warp { turbulence -1/5 octaves 2 lambda 5 omega 1/5 }
         scale 50
      }
   translate -baseRad*y
}


Post a reply to this message

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