POV-Ray script for RSPROG main image

POV-Ray – what is it?

You may have wondered how the main image of RSPROG was built. It has been created with POV-Ray. POV-Ray creates (renders) images based on text files written in the POV-Ray scene description language.

Specify the camera position, the position of the light sources and some objects such as spheres, and POV-Ray generates the image.

Creation of the RSPROG image

I played with it many years ago when I was looking for an animation for a video and reminded me when I searched some unique image for my new website.

I had to refresh my skills, but after some hours of testing, it was finished.

If you are interested, you will find the complete script here.

You may use it for your own work, you can also customize it according to your wishes, so long as you do not process a 1:1 identical image for your own website.

POV-Ray script

And here is the script:

/*

This is the POV-Ray scene script for www.rsprog.de main image

Rainer Schaack

2014-08-19

*/

#version 3.7;

#include "colors.inc"
#include "shapes.inc"
#include "woods.inc"

global_settings
{
  assumed_gamma 1.0
}

camera
{

  location <0, 0, -4>
  look_at <0, 0, 0>
}

background {color rgb <0.955,0.913,0.792>}

light_source{<-200,1000,-300> color rgb<0.4, 0.4, 0.4>}
light_source{<-200,-500,-2000> color rgb<0.5, 0.5, 0.5>}

object
{
  Bevelled_Text("arial.ttf", "RSPROG", 10 , 35, 0.045, 0.2, 0.00, 0)

  texture
  {
    pigment
    {
      color rgb<0.45, 0.12, 0>
    }
    normal
    {
      bumps 1 scale 0.01
    }

    finish
    {
      phong 0.05 specular 0.5 reflection 0.15
    }

  }

  rotate <20, 0, 0>

  translate<-2.1, 1.1,-0.5>
}

#macro Linetext(s, l)
text
{
  ttf "crystal.ttf" s 0.15, 0
  pigment { BrightGold }
  finish { reflection 0.25 specular 1 }
  translate <-4, l, 0>
  scale 0.7
}
#end

union
{
  box
  {
  <-3.5, -5, 0.1>, <7.5, 1.6, 1>
  texture { T_Wood14 }
  }

  Linetext("#include <stdio.h>", 0)
  Linetext("int main(void)", -2)
  Linetext("{", -3)
  Linetext("  printf(\"Hello World.\\n\");", -4)
  Linetext("  return 0;", -5)
  Linetext("}", -6)

  scale 0.3
  rotate <45, -2, 20>
  translate <-0.9, 0.1, 0>
}