![](/i/fill.gif) |
![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hi,
I want to create a 3 dimensional pattern but I do not know if this is
possible with POV-Ray (but I think so). I want to use it like the
'gradient z' or 'bozo' statement to change the color/texture of an
object by it's position in space and need the (relative) x,y and z
coordinates to decide wich value is to be used...
I hope I was able to make this understandable,
Thanks for any help,
Hendrik Iben
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hendrik Iben wrote:
>
> Hi,
> I want to create a 3 dimensional pattern but I do not know if this is
> possible with POV-Ray (but I think so). I want to use it like the
> 'gradient z' or 'bozo' statement to change the color/texture of an
> object by it's position in space and need the (relative) x,y and z
> coordinates to decide wich value is to be used...
AFAIK, all patterns in POV-Ray are inherently 3D anyway. If you define
an object's location BEFORE assigning it a texture, the texture it gets
is determined by the value of the pattern in the part of space where the
object resides (once you define a texture for an object, it "sticks" to
that object even if you transform it). Note that if you do it this way,
the texture of the object will vary over the surface of the object,
since it exists within that variable 3D pattern space.
If you want the object to have one uniform texture over the entire
surface that varies by the location of the object, your best bet would
probably be to write some kind of mathematical function and use it to
alter a "base" texture somehow.. am I making any sense here?
--
Xplo Eristotle
http://start.at/xplosion/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hendrik Iben <Hen### [at] bigfoot de> wrote:
: I want to create a 3 dimensional pattern
But how? Using a function (like f(x,y,z) = x+y+2*z) perhaps?
Then you have to use MegaPov (or wait for povray 3.5).
MegaPov can be found at http://nathan.kopp.com/patched.htm
--
main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hi,
It might be better to give an example of what I want to do :
I want to visualize interference in 3d space by altering the
color/refraction of an object in space. Another nice pattern would be the
simulation of smoke and things like that. So I do not need the position of
the object(center) but just the position the raytracer is at. I do not know
if this will look good but I would like to see it...
There must be some sort of interface for things like this in pov-ray since
the bozo pattern does a simlar thing. I can't believe that theses patterns
are just built in...
Thanks anyway,
Hendrik Iben
Xplo Eristotle wrote:
> AFAIK, all patterns in POV-Ray are inherently 3D anyway. If you define
> an object's location BEFORE assigning it a texture, the texture it gets
> is determined by the value of the pattern in the part of space where the
> object resides (once you define a texture for an object, it "sticks" to
> that object even if you transform it). Note that if you do it this way,
> the texture of the object will vary over the surface of the object,
> since it exists within that variable 3D pattern space.
>
> If you want the object to have one uniform texture over the entire
> surface that varies by the location of the object, your best bet would
> probably be to write some kind of mathematical function and use it to
> alter a "base" texture somehow.. am I making any sense here?
>
> --
> Xplo Eristotle
> http://start.at/xplosion/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hi,
What I want to do would be best realised with functions as I want to simulate
physical behavior...
Is there no interface in POV-Ray's script language for these sort of patterns
? How did they make the bozo pattern ? Is it just built in ? ....
Well, thanks for your suggestions....,
Hendrik Iben
Warp wrote:
> But how? Using a function (like f(x,y,z) = x+y+2*z) perhaps?
> Then you have to use MegaPov (or wait for povray 3.5).
> MegaPov can be found at http://nathan.kopp.com/patched.htm
>
> --
> main(i,_){for(_?--i,main(i+2,"FhhQHFIJD|FQTITFN]zRFHhhTBFHhhTBFysdB"[i]
> ):5;i&&_>1;printf("%s",_-70?_&1?"[]":" ":(_=0,"\n")),_/=2);} /*- Warp -*/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hendrik Iben wrote:
>
> Hi,
> What I want to do would be best realised with functions as I want to simulate
> physical behavior...
> Is there no interface in POV-Ray's script language for these sort of patterns
> ? How did they make the bozo pattern ? Is it just built in ? ....
As Warp said all of POV-Ray's pigment patterns are built in. There is
a patched version of POV-Ray called MegaPov that offers a feature
called Isopigments. These Isopigments will allow you to create custom
mathematically defined patterns of your choice. The POV-Team is
currently working on adding this custom version of POV-Ray into the
next official version of the program and is due to be released later
this year. If you are impatient to try it go to the address Warp
provided and download the custom version and give it a try.
--
Ken Tyler - 1400+ POV-Ray, Graphics, 3D Rendering, and Raytracing Links:
http://home.pacbell.net/tylereng/index.html http://www.povray.org/links/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hendrik Iben wrote:
>
> Hi,
> It might be better to give an example of what I want to do :
> I want to visualize interference in 3d space by altering the
> color/refraction of an object in space. Another nice pattern would be the
> simulation of smoke and things like that. So I do not need the position of
> the object(center) but just the position the raytracer is at. I do not know
> if this will look good but I would like to see it...
> There must be some sort of interface for things like this in pov-ray since
> the bozo pattern does a simlar thing. I can't believe that theses patterns
> are just built in...
>
> Thanks anyway,
> Hendrik Iben
>
Hello,
POV-Ray patterns are built in (bozo et al.). I think that what you need
is renderman-like shading. You could try BMRT, which is free for
non-commercial use.
(I'm working on patch to incorporate RM SL into POV-Ray, which will
eventually allow such "3D Pattern", but it ain't "real soon now".)
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
In article <390### [at] bigfoot de>, Hendrik Iben
<Hen### [at] bigfoot de> wrote:
> Hi, It might be better to give an example of what I want to do : I
> want to visualize interference in 3d space by altering the
> color/refraction of an object in space. Another nice pattern would be
> the simulation of smoke and things like that. So I do not need the
> position of the object(center) but just the position the raytracer is
> at. I do not know if this will look good but I would like to see
> it... There must be some sort of interface for things like this in
> pov-ray since the bozo pattern does a simlar thing. I can't believe
> that theses patterns are just built in...
They *are* built in, look in the source file named "pattern.c". To do
what you want, you might be able to combine several textures using
layers, pigment_map, or texture_map. If you want to define your own
pattern with an equation, you have to either add a new pattern to the
source code and recompile, or use MegaPOV. MegaPOV allows you to define
a function to use as the pattern:
pigment {function {noise3d(x,y,z)*sin(sqrt(sqr(x)+sqr(z))}
color_map {...}
}
And you can #declare functions:
#declare Source = function {sin(sqrt(sqr(x)+sqr(y)+sqr(z))}
pigment {function {(Source(x,y,z)+Source(x-5,y,z)+Source(x+4,y,z-3))/3}
color_map {...}
}
--
Christopher James Huff - Personal e-mail: chr### [at] yahoo com
TAG(Technical Assistance Group) e-mail: chr### [at] tag povray org
Personal Web page: http://chrishuff.dhs.org/
TAG Web page: http://tag.povray.org/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Wasn't it Hendrik Iben who wrote:
>Hi,
>It might be better to give an example of what I want to do :
>I want to visualize interference in 3d space by altering the
>color/refraction of an object in space. Another nice pattern would be the
>simulation of smoke and things like that. So I do not need the position of
>the object(center) but just the position the raytracer is at. I do not know
>if this will look good but I would like to see it...
>There must be some sort of interface for things like this in pov-ray since
>the bozo pattern does a simlar thing. I can't believe that theses patterns
>are just built in...
In official POV-Ray, the pigment patterns really are built in. However,
in the unofficial MegaPOV it's possible to use isosurface functions to
generate a pigment pattern. You can control the colour and transparency
of the surface, but not the refractive index of the interior.
There's a bit of a description of this sort of thing in my isosurface
tutorial: http://www.econym.demon.co.uk/isotut/pigfun.htm
I don't really expect that you'll have much success with getting any
remotely realistic smoke without using media, but perhaps you might try
having an isosurface pigment on several closely spaced planes, and
setting them to be so transparent that each individual plane is
virtually invisible.
Hint: If you try this, don't forget to set
global_settings { max_trace_level
to a number that's greater than the number of surfaces that you want the
rays to penetrate.
I'd be interested to hear if you have any luck.
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
Hi,
Well, I did not actually want to download MegaPOV, but perhaps I'll give it a
try....
Ever tried to modell smoke with macros and triangles ? :-)
Thanks for your help,
Hendrik Iben
Mike Williams wrote:
> Wasn't it Hendrik Iben who wrote:
> >Hi,
> >It might be better to give an example of what I want to do :
> >I want to visualize interference in 3d space by altering the
> >color/refraction of an object in space. Another nice pattern would be the
> >simulation of smoke and things like that. So I do not need the position of
> >the object(center) but just the position the raytracer is at. I do not know
> >if this will look good but I would like to see it...
> >There must be some sort of interface for things like this in pov-ray since
> >the bozo pattern does a simlar thing. I can't believe that theses patterns
> >are just built in...
>
> In official POV-Ray, the pigment patterns really are built in. However,
> in the unofficial MegaPOV it's possible to use isosurface functions to
> generate a pigment pattern. You can control the colour and transparency
> of the surface, but not the refractive index of the interior.
>
> There's a bit of a description of this sort of thing in my isosurface
> tutorial: http://www.econym.demon.co.uk/isotut/pigfun.htm
>
> I don't really expect that you'll have much success with getting any
> remotely realistic smoke without using media, but perhaps you might try
> having an isosurface pigment on several closely spaced planes, and
> setting them to be so transparent that each individual plane is
> virtually invisible.
>
> Hint: If you try this, don't forget to set
> global_settings { max_trace_level
> to a number that's greater than the number of surfaces that you want the
> rays to penetrate.
>
> I'd be interested to hear if you have any luck.
>
> --
> Mike Williams
> Gentleman of Leisure
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |