POV-Ray : Newsgroups : povray.binaries.images : IRTC Entry : Re: IRTC Entry Server Time
6 Aug 2024 21:40:32 EDT (-0400)
  Re: IRTC Entry  
From: s day
Date: 31 Aug 2006 08:45:01
Message: <web.44f6d936cd6ad91579fdcb760@news.povray.org>
"jhu" <nomail@nomail> wrote:
> Could you explain how you textured the walls and the pillars? I've tried
> image_maps and isosurfaces but am never quite able to achieve the same
> effect.

Hi,

The textures are all procedural and I think for this scene are maybe a bit
too overworked. This is one of the aspects I am not too pleased with at the
moment. The full source will be available on the IRTC website to download
but the technique is quite simple.

I just texture an object as it would look if it were new/clean then layer
any number of transparent textures over the top of this (normally using a
wrinkle pattern an with a normal) Adjusting the omega/lambda and sometimes
the wave typw help as well. e.g

// Persistence of Vision Ray Tracer Scene Description File
// File: ?.pov
// Vers: 3.5
// Desc: Basic Scene Example
// Date: mm/dd/yy
// Auth: ?
//

#version 3.5;

#include "colors.inc"

global_settings {
  assumed_gamma 1.0
}

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

camera {
  location  <0.0, 10, -50.0>
  direction 1.5*z
  right     x*image_width/image_height
  look_at   <0.0, 5.0,  0.0>
}

light_source {
  <0, 0, 0>            // light's position (translated below)
  color rgb <1, 1, 1>  // light's color
  translate <-30, 30, -30>
}





#declare dirt = texture // add grease/dirt
{
        pigment
        {
                wrinkles
                scallop_wave
                turbulence 0.31
                omega 0.65
                lambda 3
                colour_map
                {
                        [ 0.0 rgbt <1, 1, 1, 1> ]
                        [ 0.1 rgbt <1, 1, 1, 1> ]
                        [ 0.15 rgbt <0.01, 0.002, 0, 1> ]
                        [ 0.20 rgbt <0.01, 0.002, 0, 0.7> ]
                        [ 0.40 rgbt <0.01, 0.002, 0, 0.6> ]
                        [ 0.45 rgbt <0.025, 0.01, 0.001, 0.2> ]
                        [ 0.5 rgbt <0.01, 0.002, 0, 0.7> ]
                        [ 0.525 rgbt <0.01, 0.002, 0, 1> ]
                        [ 0.525 rgbt <1, 1, 1, 1> ]
                        [ 0.8 rgbt <1, 1, 1, 1> ]
                        [ 0.8 rgbt <0.1, 0.035, 0.005, 1> ]
                        [ 0.81 rgbt <0.1, 0.035, 0.005, 0.4> ]
                        [ 0.9 rgbt <0.15, 0.085, 0.009, 0.8> ]
                        [ 0.94 rgbt <0.15, 0.085, 0.009, 1> ]
                        [ 1 rgbt <1, 1, 1, 1> ]
                }
                scale <50, 40, 50>
        }
        finish { ambient 0 diffuse 0.4  }
        normal { granite 2 scale 0.2 }
}
texture // add grease/dirt
{
        pigment
        {
                wrinkles

                turbulence 1
                omega 0.75
                lambda 3
                colour_map
                {
                        [ 0.0 rgbt <1, 1, 1, 1> ]
                        [ 0.1 rgbt <1, 1, 1, 1> ]
                        [ 0.15 rgbt <0.01, 0.002, 0, 1> ]
                        [ 0.20 rgbt <0.01, 0.002, 0, 0.7> ]
                        [ 0.40 rgbt <0.01, 0.002, 0, 0.5> ]
                        [ 0.45 rgbt <0.025, 0.01, 0.001, 0.4> ]
                        [ 0.5 rgbt <0.01, 0.002, 0, 0.9> ]
                        [ 0.525 rgbt <0.01, 0.002, 0, 1> ]
                        [ 0.525 rgbt <1, 1, 1, 1> ]
                        [ 0.8 rgbt <1, 1, 1, 1> ]
                        [ 0.8 rgbt <0.1, 0.035, 0.005, 1> ]
                        [ 0.81 rgbt <0.1, 0.035, 0.005, 0.8> ]
                        [ 0.9 rgbt <0.15, 0.085, 0.009, 0.6> ]
                        [ 0.94 rgbt <0.15, 0.085, 0.009, 1> ]
                        [ 1 rgbt <1, 1, 1, 1> ]
                }
                rotate <20, 30, 20>
                scale <45, 55, 35>
        }
        finish { ambient 0 diffuse 0.4  }
        normal { granite 2 scale 0.2 }
}

#declare plasticTex=texture
{
        pigment { rgb <1, 0, 0> }
        finish { phong 1 }
}

plane { y,-5 texture { pigment { rgb 0.5 } } }

sphere { <0, 0, 0> 5
        texture { plasticTex }
}

sphere { <0, 0, 0> 5
        texture { plasticTex }
        texture { dirt }
        translate <10, 0, 0>
}

sphere { <0, 0, 0> 5
        texture { plasticTex }
        texture { dirt }
        texture { dirt rotate <20, 30, 100> }
        texture { dirt rotate <60, 130, 20> }
        texture { dirt rotate <200, 30, 300> }
        translate <-10, 0, 0>
}

produces the image below.

NB: The textures in the train scene are a bit more complicated than this and
use a lot more layers and then a texture_map with a gradient to fade from a
really dirty texture to a cleaner one as it travels up the wall.

Sean


Post a reply to this message


Attachments:
Download 'texdemo.jpg' (34 KB)

Preview of image 'texdemo.jpg'
texdemo.jpg


 

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