POV-Ray : Newsgroups : povray.unofficial.patches : Silly idea ? : Silly idea ? Server Time
5 Jul 2024 14:48:05 EDT (-0400)
  Silly idea ?  
From: Le Forgeron
Date: 20 Sep 2002 04:12:27
Message: <3D8AD874.5020109@free.fr>
I'm used to pigment pattern based on 3D data (a.k.a 3D procedural pattern).
They usually take as input a 3D vector, performs their black magic and 
returns a single float between 0 and 1, then this float is used against 
the ramp to get another float (default ramp being linear, a.k.a no 
change) and finally the float is used to compute the interpolation from 
a map. So far, so good...

Two days ago, I get an idea: what if the colour of the point was 
directly computed from the 3D vector... well in fact, what if the colour 
was just the 3D vector. It does not make too much interest with a 
position vector, but I was then thinking about either the ray direction 
or the normal (it can be made available, that's not the problem here).

Illustrating with only the normal, I was just thinking first of
   color.x = abs(normal.x)
   color.y = abs(normal.y)
   color.z = abs(normal.z)

Thus, a sphere would be colored two red,green and blue spots each at the 
pole with smooth transition to a dark grey of eight spots, while a 
rotating cube would get
homogeneous colour for each face...

Of course, that could be only the first step before a more complex 
operation based on three map (one map per component, as well as one ramp 
per component).

Kind of something like
  <3D info> --> <x,y,z> --> average(mapx(rampx(x)), mapy(rampy(y)), 
mapz(rampz))

instead of the traditional pattern
  <3D info> --> v --> map(ramp(v))

So far, It won't be a pattern as we know it (so a name might be needed, 
and any suggestion is welcome), but is there any interest for the concept ?
Or can it already be done with the actual feature and there is therefore 
no need to patch ?


Post a reply to this message

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