POV-Ray : Newsgroups : povray.binaries.images : Back to basics : Re: Back to basics Server Time
7 Aug 2024 21:24:52 EDT (-0400)
  Re: Back to basics  
From: PM 2Ring
Date: 2 Dec 2005 00:10:01
Message: <web.438fd581df1560778549bfe80@news.povray.org>
"news.povray.org" <js### [at] suncom> wrote:
> PM 2Ring wrote:
> > Sometimes, it's nice to get back to basics.
>
> Spooky, this looks just like a shape I was playing with a couple of months
> back, for maybe a first post...

Tasty! But it does look like it's floating above the floor.
Is it just hollowed out using cylinders, or did you use a sphere as well?
I like your bevelled tiles. I think reflective scenes like this are crying
out for an .hdri lightprobe.

> but I got distracted and never finished it.

My hard drives are littered with POV projects that I intend to get back to,
some day... :)

> Great minds think alike :)

:)

Here's one of mine on a tiled floor.

//------------------------------------------------------------

// Persistence of Vision Ray Tracer Scene Description File
// File: IsoTiles.pov
// Vers: 3.6
// Desc: Multiple rounded square tiles using a single isosurface
// Date: 2005.09.06
// Auth: PM 2Ring
//
//  -D +A0.1 +AM2 +R2
//  -F -A0.5 +AM2 +R1
//  -d +W1200 +H900 +A0.1 +AM2 +R2 +C
//

#version 3.6;

#include "functions.inc"
#include "colors.inc"
#include "stones.inc"

global_settings {
  assumed_gamma 1.0
  //max_trace_level 20
  //radiosity{pretrace_end 0.08 always_sample off brightness 0.5}
}

#declare TGrout =
texture{
  pigment{granite scale .08 color_map{[0.2 rgb .8][0.8 rgb 1]}}
  finish{ambient 0.15 diffuse .875}
  normal{granite .2 scale .085}
}

#declare StoneMax=44;
#declare T_Stones0 = array[StoneMax]{
  T_Stone1, T_Stone2, T_Stone3, T_Stone4, T_Stone5,
  T_Stone6, T_Stone7, T_Stone8, T_Stone9, T_Stone10,
  T_Stone11, T_Stone12, T_Stone13, T_Stone14, T_Stone15,
  T_Stone16, T_Stone17, T_Stone18, T_Stone19, T_Stone20,
  T_Stone21, T_Stone22, T_Stone23, T_Stone24, T_Stone25,
  T_Stone26, T_Stone27, T_Stone28, T_Stone29, T_Stone30,
  T_Stone31, T_Stone32, T_Stone33, T_Stone34, T_Stone35,
  T_Stone36, T_Stone37, T_Stone38, T_Stone39, T_Stone40,
  T_Stone41, T_Stone42, T_Stone43, T_Stone44,
}

#declare TGloss = texture{
  pigment{rgb 1 transmit 1.15}
  finish{ambient 0 diffuse 0.5 phong 1 phong_size 250 reflection 0.1}
}

#declare StoneMax=7;
#declare T_Stones = array[StoneMax]{
  T_Stone8, T_Stone15,  T_Stone16, T_Stone17, T_Stone17, T_Stone17,
T_Stone21,
}

//Add gloss to stones
#if(1)
#declare I=0;
#while(I<StoneMax)
  #declare T_Stones[I] = texture{T_Stones[I] scale 2 } texture{TGloss}
  #declare I=I+1;
#end
#end

#declare W = 1/24;              //Cell width

//centered absolute modulus
#declare amod = function(A,B) {mod(abs(A),2*B)-B}

//sign-sensible modulus
#declare smod = function(A,B) {mod(B+mod(A,B),B)}

#declare DI=1/StoneMax;
#declare MultiStone = texture{
  cells
  texture_map{
  #declare I=0;
  #while(I<StoneMax)
    [I*DI T_Stones[I]]
    [(I+1)*DI T_Stones[I]]
    #declare I=I+1;
  #end
  }
}

#declare MultiStone1 = texture{
  cells
  texture_map{
    [0.2 T_Stones0[17]]
    [0.2 T_Stones0[16]]
    [0.9 T_Stones0[16]]
    [0.9 T_Stones0[20]]
  }
}

#declare DrillRad = 0.75; //sqrt(.5);
#declare DrilledBox =
difference{
  box {<-1,-1,-1>, <1,1,1>}
  cylinder{-x,x, DrillRad scale 1.0001}
  cylinder{-y,y, DrillRad scale 1.0001}
  cylinder{-z,z, DrillRad scale 1.0001}

  texture {pigment{rgb <1 .9 .5>}finish{ambient 0 diffuse 0.2 specular 1
roughness 1e-4 reflection{0.8 metallic}}}

  translate <2, 0, -2>
}

//#declare TW = .975;
#declare TW = 1.05;
#declare Tiles =
isosurface{
  function {f_rounded_box(amod(x,W)*TW, y, amod(z,W)*TW, .0135, W, W, W)}
  contained_by{box{<-1,0,-1>,<1,W,1>}}
  max_gradient 1.0

  texture {MultiStone scale 2*W}

  //pigment{checker rgb 0, rgb 1 scale 2*W}
  //finish{ambient .05 diffuse .875 specular 0.5 roughness 1e-4 reflection
0.15}

  scale 8
  translate y*-(1+ 8*W)*1.001
}

//------------------------------------------------------------

object{DrilledBox}
object{Tiles}

#if(1)
sky_sphere {
  pigment {
    gradient y
    color_map {
      [0.2 rgb 0.1]
      [0.7 rgb 0.9]
    }
  }
}
#end

#if(1)
plane {
  y, -1.075
  texture{
    TGrout
    //pigment {red 1}
  }
}
#end

#declare CamPos = <3, 6, -8>*1.5;
camera {
  location CamPos
  direction z
  right     x*image_width/image_height up y
  look_at   -y*4
  angle 40
}

light_source {
  <-1, 6, -8> * 10
  #if(0)
    rgb 1
  #else
    rgb 200 // 150
    //area_light 3*x,3*z,5,5 jitter adaptive 1 orient circular
    spotlight point_at <0,1.2,-5> falloff 4 radius 1
    fade_distance 4.75 fade_power 2
  #end
}

//light_source {CamPos rgb .05}

//------------------------------------------------------------


Post a reply to this message


Attachments:
Download 'isotilea6s.jpg' (180 KB)

Preview of image 'isotilea6s.jpg'
isotilea6s.jpg


 

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