POV-Ray : Newsgroups : povray.text.tutorials : FishStix Server Time
18 May 2024 11:30:52 EDT (-0400)
  FishStix (Message 1 to 1 of 1)  
From: David Cook
Subject: FishStix
Date: 18 Sep 1998 02:07:47
Message: <3601eaa3.0@news.povray.org>
My first posting to povray.binaries.images.


//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
//
// FishStix.pov
//  by Dave Cook 17-Sep-98
//     dav### [at] netdavecom
//     http://www.netdave.com/~davepc2
//
//  A whimsical little scene depicting a fish on some sticks inside
//  a shiny box.
//
//-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=

#version 3
#include "colors.inc"
#include "finish.inc"
#include "shapes.inc"
#include "glass.inc"
#include "fish.inc" // M. Miller's Fish include from POVRay examples

// this scene is all mirrors - we get lots of reflections
// uncomment this to enable more reflections
//global_settings { max_trace_level 10 }

// enable the objects
#declare Do_Walls = 1
#declare Do_Stix = 1
#declare Do_Fish = 1

// these set the size of the box
#declare Wall_Dist = 10.0
#declare Side_Wall_Dist = Wall_Dist

// light position common value
#declare Light_Pos = Wall_Dist/5.0

// with all the reflectivity, we gotta dim things down...
#declare Damper = 16

camera
{
  location  <4.5, -2, -9.0>
  look_at   <0.0, 0.0, Wall_Dist>
}

// upper light source
light_source
{
  0*x // light's position (translated below)
  color red 1.0  green 1.0  blue 1.0  // light's color
  translate <Light_Pos, Light_Pos, -Light_Pos>
}

// lower light source
light_source
{
  0*x // light's position (translated below)
  color red 1.0  green 1.0  blue 1.0  // light's color
  translate <Light_Pos, -Light_Pos, -Light_Pos>
}

#declare My_Polished_Chrome =
texture
{
    pigment // give the walls a little color to make them visible
    {
      color rgb < 0.439216/Damper, 0.858824/Damper, 0.576471/Damper > //
aquamarine
    }
    finish
    {
      Mirror  // start with a perfect mirror
      // these make the walls visible
      ambient < 0.1, 0.1, 0.1 >
      diffuse 0.7
    }
}

#declare Wall_Plane =
plane
{
  z, 0.0
  texture { My_Polished_Chrome }
}

#declare Stick =
cylinder
{
  <0, 0, Wall_Dist>, <0, 0, -Wall_Dist>, 0.25
  texture
  {
    pigment { color rgb <1,0,0> }
    finish { phong 1.0 }
  }
}

// At last, the scene...

#ifdef (Do_Walls)
object { Wall_Plane translate <0, 0,  Wall_Dist> } // back wall
object { Wall_Plane translate <0, 0, -Wall_Dist> } // wall behind us

object { Wall_Plane rotate <90, 0, 0> translate <0,  Side_Wall_Dist, 0> } //
top wall
object { Wall_Plane rotate <90, 0, 0> translate <0, -Side_Wall_Dist, 0> } //
bottom wall

object { Wall_Plane rotate <0, 90, 0> translate < Side_Wall_Dist 0, 0> } //
left wall
object { Wall_Plane rotate <0, 90, 0> translate <-Side_Wall_Dist, 0, 0> } //
right wall
#end

#ifdef  (Do_Stix)
object { Stick }
object { Stick rotate <90, 0, 0> }
object { Stick rotate <0, 90, 0> }
#end

#ifdef  (Do_Fish)
object { fish  scale 0.1 rotate -90*y }  // facing toward us
#end


Post a reply to this message

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