POV-Ray : Newsgroups : povray.text.scene-files : "Play," "Pause," etc. Buttons Server Time
22 Dec 2024 04:21:07 EST (-0500)
  "Play," "Pause," etc. Buttons (Message 1 to 2 of 2)  
From: Dave Blandston
Subject: "Play," "Pause," etc. Buttons
Date: 19 Jan 2007 16:00:01
Message: <web.45b130fbf30b94f38bf1dde90@news.povray.org>
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */
/*
                                */
/* Simple "Play," "Pause," etc. buttons. To use, you will probably want to
reposition the buttons and render */
/* them one at a time, so they all have the same camera perspective. If you
add "+ua" to the command line    */
/* you will get a nice transparent background so the buttons can be copied
over another picture and be       */
/* automatically antialiased. Or you can just add these objects to your own
scene.                           */
/*
                                */
/* Here's a simple demo of a few buttons in action: (Minor improvements have
been made to the icons since    */
/* the demo was made.)
                                */
/*
                                */
/*    http://mysite.verizon.net/moronicon/Temp/Template.html
                                */
/*
                                */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */

global_settings {
   assumed_gamma 1.6
   max_trace_level 8
   photons {
      count 20000
      autostop 0
      jitter .4
   } //photons
} //global_settings

//+am2 +r3 +ua

#local HighlightIcons = yes;

#include "colors.inc"
#include "metals.inc"

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */
/*
                                */
/* SCENE DEFINITION
                                */
/*
                                */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */

camera {
   location <0, 0, -8>
   direction <0, 0, 1.35>
   look_at <0, 0, 0>
} //camera

light_source {<-150, 150, -240> color White * 1.4}
light_source {<150, -50, -20> color White * 1.6 shadowless}

object {
   difference {
      sphere {0, 2000}
      sphere {0, 1999}
      box {<-2001, -2001, 600> <2001, 2001, 2001>}
   } //difference
   pigment {
      bozo
      color_map {[0, 1 color <1, .97, .92> * .2 color <1, .97, .92> * .4]}
      scale 2400
   } //pigment
} //object

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */
/*
                                */
/* TEXTURES
                                */
/*
                                */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */

#local ButtonEdgeColor = texture {T_Silver_3D}

#local ButtonFaceColor = texture {
   pigment {
      gradient y
      #local Color1 = color <.94, .93, .8> * .6; //Top color
      #local Color2 = color <.94, .93, .8> * .3; //Bottom color
      color_map {[0 color Color2] [.2 color Color2] [.6 Color1] [.7 color
Color1] [1 Color2]}
   } //pigment
   finish {
      brilliance 2
      diffuse .6
      metallic
      reflection .6
      specular .05
      roughness 1/100
      ambient .2
   } //finish
} //texture

#if (HighlightIcons)
   #local IconFaceColor = texture {
      pigment {
         bozo
         warp {turbulence .5}
         #local Color1 = color NavyBlue * 4;
         #local Color2 = color SkyBlue * 4;
         color_map {[0 color Color1] [1 Color2]}
      } //pigment
      scale 1.8
   } //texture
#else
   #local IconFaceColor = texture {T_Gold_3A normal {bumps scale <2, 2, 3>}}
#end //#if

#local IconEdgeColor = texture {T_Chrome_1B}

#local LensColor = material {
   texture {
      pigment {rgbf <.98, 1.05, 1.02, .9>}
      finish {
         ambient .1
         diffuse .1
         reflection .1
         specular .8
         roughness .0003
         phong 1
         phong_size 60
      } //finish
   } //texture
   interior {ior 1.8}
} //material

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */
/*
                                */
/* OBJECT DEFINITIONS
                                */
/*
                                */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */

#local Button = intersection {
   sphere {0, 1 scale <1.1, .5, .4> texture {ButtonEdgeColor}}
   plane {z, -.2 inverse texture {ButtonFaceColor}}
} //intersection

#local BevelAngle = 40;

#local ArrowAngle = 18;
#local ArrowSpacing = .645;

#local BarSpacing = .05;

#local Arrow = intersection {
   box {<0, -1, -.1> <6, 1, 1> texture {IconEdgeColor}}
   plane {z, 0 inverse texture {IconFaceColor}}
   plane {y, 0 rotate -ArrowAngle * z translate y texture {IconEdgeColor}}
//Top
   plane {y, 0 inverse rotate ArrowAngle * z translate -y texture
{IconEdgeColor}} //Bottom
   plane {x, 0 inverse rotate -BevelAngle * y translate .25 * x texture
{IconEdgeColor}} //Left side bevel
   plane {y, 0 rotate -BevelAngle * x rotate -ArrowAngle * z translate y
translate -.24 * y texture {IconEdgeColor}} //Top bevel
   plane {y, 0 inverse rotate BevelAngle * x rotate ArrowAngle * z translate
-y translate .24 * y texture {IconEdgeColor}} //Bottom bevel
   translate -z
   scale .24
} //intersection

#local Bar = intersection {
   box {<0, -1, -.1> <.6, 1, 1> texture {IconEdgeColor}}
   plane {z, 0 inverse texture {IconFaceColor}}
   plane {y, 0 rotate -BevelAngle * x translate y translate -.25 * y texture
{IconEdgeColor}} //Top bevel
   plane {y, 0 inverse rotate BevelAngle * x translate -y translate .25 * y
texture {IconEdgeColor}} //Bottom bevel
   plane {x, 0 inverse rotate -BevelAngle * y translate .25 * x texture
{IconEdgeColor}} //Left side bevel
   plane {x, 0 rotate BevelAngle * y translate .6 * x translate -.25 * x
texture {IconEdgeColor}} //Right side bevel
   translate -z
   scale .24
} //intersection

#local Square = intersection {
   box {<0, -1, -.1> <2, 1, 1> texture {IconEdgeColor}}
   plane {z, 0 inverse texture {IconFaceColor}}
   plane {y, 0 rotate -BevelAngle * x translate y translate -.25 * y texture
{IconEdgeColor}} //Top bevel
   plane {y, 0 inverse rotate BevelAngle * x translate -y translate .25 * y
texture {IconEdgeColor}} //Bottom bevel
   plane {x, 0 inverse rotate -BevelAngle * y translate .25 * x texture
{IconEdgeColor}} //Left side bevel
   plane {x, 0 rotate BevelAngle * y translate 2 * x translate -.25 * x
texture {IconEdgeColor}} //Right side bevel
   translate -z
   scale .24
} //intersection

#local MagnifyingGlass = union {
   #local TopRadius = .6;
   #local BevelRadius = TopRadius + .33;
   intersection {
      difference {
         cone {<0, 0, -.1>, TopRadius <0, 0, .3>, BevelRadius texture
{IconEdgeColor}}
         cone {<0, 0, -.2>, TopRadius <0, 0, 2>, BevelRadius scale .84
texture {IconEdgeColor}}
      } //difference
      plane {z, 0 inverse texture {IconFaceColor}}
   } //intersection
   difference {
      cylinder {<0, 0, .3>, <0, 0, 1>, BevelRadius}
      cylinder {<0, 0, 0>, <0, 0, 1.1>, BevelRadius * .84}
      texture {IconEdgeColor}
   } //difference
   sphere {
      <0, 0, .3>, TopRadius * .84
      material {LensColor}
      photons {
         target
         refraction on
         collect off
      } //photons
   } //sphere
   intersection {
      #local HandleWidth = .667;
      #local HandleLength = 2.2;
      difference {
         box {<-HandleWidth / 2, -HandleLength, -.1> <HandleWidth / 2, 0, 1>
texture {IconEdgeColor}}
         cylinder {<0, 0, -.2>, <0, 0, 1.1>, TopRadius texture
{IconEdgeColor}}
      } //difference
      plane {z, 0 inverse texture {IconFaceColor}}
      plane {y, 0 inverse rotate BevelAngle * x translate -HandleLength * y
translate .25 * y texture {IconEdgeColor}} //Bottom bevel
      plane {x, 0 inverse rotate -BevelAngle * y translate (-HandleWidth /
2) * x translate .25 * x texture {IconEdgeColor}} //Left side bevel
      plane {x, 0 rotate BevelAngle * y translate (HandleWidth / 2) * x
translate -.25 * x texture {IconEdgeColor}} //Right side bevel
   } //intersection
   translate -z
   scale .24
} //union

#local PlayButton = union {
   object {Button}
   object {Arrow translate (-.065 * 3) * x}
} //union

#local PauseButton = union {
   object {Button}
   union {
      object {Bar translate -BarSpacing * x}
      object {Bar translate BarSpacing * x}
      translate -.065 * x
   } //union
} //union

#local StopButton = union {
   object {Button}
   object {Square translate (-.24) * x}
} //union

#local NextButton = union {
   object {Button}
   union {
      object {Arrow translate -ArrowSpacing * x}
      object {Arrow}
      object {Bar translate ArrowSpacing * x}
      translate -.065 * x
   } //union
} //union

#local BackButton = object {NextButton rotate 180 * z}

#local ZoomButton = union {
   object {Button}
   object {MagnifyingGlass rotate 30 * z translate <-.066, .13, 0>}
} //union

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */
/*
                                */
/* THE BUTTONS...
                                */
/*
                                */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */

object {PlayButton translate <-2.4, .6, 0>}
object {PauseButton translate <0, .6, 0>}
object {StopButton translate <2.4, .6, 0>}

object {BackButton translate <-2.4, -.6, 0>}
object {ZoomButton translate <0, -.6, 0>}
object {NextButton translate <2.4, -.6, -0>}


Post a reply to this message

From: Dave Blandston
Subject: Re: "Play," "Pause," etc. Buttons
Date: 20 Jan 2007 04:00:01
Message: <web.45b1d9ba4a9e4cef8bf1dde90@news.povray.org>
//MORE BUTTONS
//------------



/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */
/*
                                */
/* Simple "Play," "Pause," etc. buttons. To use, you will probably want to
reposition the buttons and render */
/* them one at a time, so they all have the same camera perspective. If you
add "+ua" to the command line    */
/* you will get a nice transparent background so the buttons can be copied
over another picture and be       */
/* automatically antialiased. Or you can just add these objects to your own
scene.                           */
/*
                                */
/* Here's a simple demo of a few buttons in action: (Minor improvements have
been made to the icons since    */
/* the demo was made.)
                                */
/*
                                */
/*    http://mysite.verizon.net/moronicon/Temp/Template.html
                                */
/*
                                */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */

global_settings {
   assumed_gamma 1.6
   max_trace_level 8
   photons {
      count 20000
      autostop 0
      jitter .4
   } //photons
} //global_settings

//+am2 +r3 +ua

#local HighlightIcons = no;

#include "colors.inc"
#include "metals.inc"

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */
/*
                                */
/* SCENE DEFINITION
                                */
/*
                                */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */

camera {
   location <0, 0, -8>
   direction <0, 0, 1.35>
   look_at <0, 0, 0>
} //camera

light_source {<-150, 150, -240> color White * 1.4}
light_source {<150, -50, -20> color White * 1.6 shadowless}

object {
   difference {
      sphere {0, 2000}
      sphere {0, 1999}
      box {<-2001, -2001, 600> <2001, 2001, 2001>}
   } //difference
   pigment {
      bozo
      color_map {[0, 1 color <1, .97, .92> * .2 color <1, .97, .92> * .4]}
      scale 2400
   } //pigment
} //object

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */
/*
                                */
/* TEXTURES
                                */
/*
                                */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */

#local ButtonEdgeColor = texture {T_Silver_3D}

#local ButtonFaceColor = texture {
   pigment {
      gradient y
      #local Color1 = color <.94, .93, .8> * .6; //Top color
      #local Color2 = color <.94, .93, .8> * .3; //Bottom color
      color_map {[0 color Color2] [.2 color Color2] [.6 Color1] [.7 color
Color1] [1 Color2]}
   } //pigment
   finish {
      brilliance 2
      diffuse .6
      metallic
      reflection .6
      specular .05
      roughness 1/100
      ambient .2
   } //finish
} //texture

#if (HighlightIcons)
   #local IconFaceColor = texture {
      pigment {
         bozo
         warp {turbulence .5}
         #local Color1 = color NavyBlue * 4;
         #local Color2 = color SkyBlue * 4;
         color_map {[0 color Color1] [1 Color2]}
      } //pigment
      scale 1.8
   } //texture
#else
   #local IconFaceColor = texture {T_Gold_3A normal {bumps scale <2, 2, 3>}}
#end //#if

#local IconEdgeColor = texture {T_Chrome_1B normal {bumps scale <.4, .4,
..3>}}

#local LensColor = material {
   texture {
      pigment {rgbf <.98, 1.05, 1.02, .9>}
      finish {
         ambient .1
         diffuse .1
         reflection .1
         specular .8
         roughness .0003
         phong 1
         phong_size 60
      } //finish
   } //texture
   interior {ior 1.8}
} //material

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */
/*
                                */
/* OBJECT DEFINITIONS
                                */
/*
                                */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */

#local Button = intersection {
   sphere {0, 1 scale <1.1, .5, .4> texture {ButtonEdgeColor}}
   plane {z, -.2 inverse texture {ButtonFaceColor}}
} //intersection

#local BevelAngle = 40;

#local ArrowAngle = 18;
#local ArrowSpacing = .645;

#local BarSpacing = .05;

#local Arrow = intersection {
   box {<0, -1, -.1> <6, 1, 1> texture {IconEdgeColor}}
   plane {z, 0 inverse texture {IconFaceColor}}
   plane {y, 0 rotate -ArrowAngle * z translate y texture {IconEdgeColor}}
//Top
   plane {y, 0 inverse rotate ArrowAngle * z translate -y texture
{IconEdgeColor}} //Bottom
   plane {x, 0 inverse rotate -BevelAngle * y translate .25 * x texture
{IconEdgeColor}} //Left side bevel
   plane {y, 0 rotate -BevelAngle * x rotate -ArrowAngle * z translate y
translate -.24 * y texture {IconEdgeColor}} //Top bevel
   plane {y, 0 inverse rotate BevelAngle * x rotate ArrowAngle * z translate
-y translate .24 * y texture {IconEdgeColor}} //Bottom bevel
   translate -z
   scale .24
} //intersection

#local Arrow_Small = intersection {
   box {<0, -1, -.1> <6, 1, 1> texture {IconEdgeColor}}
   plane {z, 0 inverse texture {IconFaceColor}}
   plane {y, 0 rotate (-ArrowAngle * 2) * z translate y texture
{IconEdgeColor}} //Top
   plane {y, 0 inverse rotate (ArrowAngle * 2) * z translate -y texture
{IconEdgeColor}} //Bottom
   plane {x, 0 inverse rotate -BevelAngle * y translate .25 * x texture
{IconEdgeColor}} //Left side bevel
   plane {y, 0 rotate -BevelAngle * x rotate (-ArrowAngle * 2) * z translate
y translate -.24 * y texture {IconEdgeColor}} //Top bevel
   plane {y, 0 inverse rotate BevelAngle * x rotate (ArrowAngle * 2) * z
translate -y translate .24 * y texture {IconEdgeColor}} //Bottom bevel
   translate -z
   scale .24
} //intersection

#local Bar = intersection {
   box {<0, -1, -.1> <.6, 1, 1> texture {IconEdgeColor}}
   plane {z, 0 inverse texture {IconFaceColor}}
   plane {y, 0 rotate -BevelAngle * x translate y translate -.25 * y texture
{IconEdgeColor}} //Top bevel
   plane {y, 0 inverse rotate BevelAngle * x translate -y translate .25 * y
texture {IconEdgeColor}} //Bottom bevel
   plane {x, 0 inverse rotate -BevelAngle * y translate .25 * x texture
{IconEdgeColor}} //Left side bevel
   plane {x, 0 rotate BevelAngle * y translate .6 * x translate -.25 * x
texture {IconEdgeColor}} //Right side bevel
   translate -z
   scale .24
} //intersection

#local Square = intersection {
   box {<0, -1, -.1> <2, 1, 1> texture {IconEdgeColor}}
   plane {z, 0 inverse texture {IconFaceColor}}
   plane {y, 0 rotate -BevelAngle * x translate y translate -.25 * y texture
{IconEdgeColor}} //Top bevel
   plane {y, 0 inverse rotate BevelAngle * x translate -y translate .25 * y
texture {IconEdgeColor}} //Bottom bevel
   plane {x, 0 inverse rotate -BevelAngle * y translate .25 * x texture
{IconEdgeColor}} //Left side bevel
   plane {x, 0 rotate BevelAngle * y translate 2 * x translate -.25 * x
texture {IconEdgeColor}} //Right side bevel
   translate -z
   scale .24
} //intersection

#local MagnifyingGlass = union {
   #local TopRadius = .6;
   #local BevelRadius = TopRadius + .33;
   intersection {
      difference {
         cone {<0, 0, -.1>, TopRadius <0, 0, .3>, BevelRadius texture
{IconEdgeColor}}
         cone {<0, 0, -.2>, TopRadius <0, 0, 2>, BevelRadius scale .84
texture {IconEdgeColor}}
      } //difference
      plane {z, 0 inverse texture {IconFaceColor}}
   } //intersection
   difference {
      cylinder {<0, 0, .3>, <0, 0, 1>, BevelRadius}
      cylinder {<0, 0, 0>, <0, 0, 1.1>, BevelRadius * .84}
      texture {IconEdgeColor}
   } //difference
   sphere {
      <0, 0, .3>, TopRadius * .84
      material {LensColor}
      photons {
         target
         refraction on
         collect off
      } //photons
   } //sphere
   intersection {
      #local HandleWidth = .667;
      #local HandleLength = 2.2;
      difference {
         box {<-HandleWidth / 2, -HandleLength, -.1> <HandleWidth / 2, 0, 1>
texture {IconEdgeColor}}
         cylinder {<0, 0, -.2>, <0, 0, 1.1>, TopRadius texture
{IconEdgeColor}}
      } //difference
      plane {z, 0 inverse texture {IconFaceColor}}
      plane {y, 0 inverse rotate BevelAngle * x translate -HandleLength * y
translate .25 * y texture {IconEdgeColor}} //Bottom bevel
      plane {x, 0 inverse rotate -BevelAngle * y translate (-HandleWidth /
2) * x translate .25 * x texture {IconEdgeColor}} //Left side bevel
      plane {x, 0 rotate BevelAngle * y translate (HandleWidth / 2) * x
translate -.25 * x texture {IconEdgeColor}} //Right side bevel
   } //intersection
   translate -z
   scale .24
} //union

#local PlayButton = union {
   object {Button}
   object {Arrow translate (-.065 * 3) * x}
} //union

#local PauseButton = union {
   object {Button}
   union {
      object {Bar translate -BarSpacing * x}
      object {Bar translate BarSpacing * x}
      translate -.065 * x
   } //union
} //union

#local StopButton = union {
   object {Button}
   object {Square translate -.24 * x}
} //union

#local EjectButton = union {
   object {Button}
   object {Bar rotate 90 * z translate -.18 * y}
   object {Arrow_Small rotate 90 * z translate -.08 * y}
} //union

#local FastForwardButton = union {
   object {Button}
   union {
      object {Arrow translate -ArrowSpacing * x}
      object {Arrow}
      translate .1 * x
   } //union
} //union

#local FastRewindButton = object {FastForwardButton rotate 180 * z}

#local NextButton = union {
   object {Button}
   union {
      object {Arrow translate -ArrowSpacing * x}
      object {Arrow}
      object {Bar translate ArrowSpacing * x}
      translate -.065 * x
   } //union
} //union

#local PreviousButton = object {NextButton rotate 180 * z}

#local ZoomButton = union {
   object {Button}
   object {MagnifyingGlass rotate 30 * z translate <-.066, .13, 0>}
} //union

/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */
/*
                                */
/* THE BUTTONS...
                                */
/*
                                */
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * */

object {PlayButton translate <-2.4, 1.2, 0>}
object {PauseButton translate <0, 1.2, 0>}
object {StopButton translate <2.4, 1.2, 0>}

object {PreviousButton translate <-2.4, 0, 0>}
object {EjectButton translate <0, 0, 0>}
object {NextButton translate <2.4, 0, -0>}

object {FastRewindButton translate <-2.4, -1.2, 0>}
object {ZoomButton translate <0, -1.2, 0>}
object {FastForwardButton translate <2.4, -1.2, 0>}


Post a reply to this message

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