![](/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) |
that hurts, makes my eyes go funny
Rick
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) |
Margus,
I made an attempt at this last night (and failed)... I could figure out how
to make the shape I wanted using an object pigment, but I couldn't figure
out how to tile it without just writing a loop that csg's the objects
together. How did you do the tiling?
-autowitch
p.s. (if this posts twice, I apologize - my newsreader is really losing it
today)
--
duncan gold [TurboPower Software]
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) |
Wlodzimierz ABX Skiba wrote:
>
> You mean this ?
>
> #local FunPig1=function{pigment{object{Obj1 color 0 color 1/3}}}
> #local FunPig2=function{pigment{object{Obj2 color 0 color 2/3}}}
> #local FunPig3=function{pigment{object{Obj3 color 0 color 1}}}
> #local EscherFunction=function{FunPig1+FunPig2+FunPig3}
>
> ABX
Ah, yes. I suspected something like this, but couldn't quite figure it out.
Thanks!
--
Margus Ramst
Personal e-mail: mar### [at] peak edu ee
TAG (Team Assistance Group) e-mail: mar### [at] 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) |
autowitch wrote:
>
> How did you do the tiling?
>
You have two options (that I can think of).
1) Use the repeat warp. For example, to get a <0,0,0>-<1,1,1> slice of your
texture to tile in 3D, you need 3 consecutive repeat warps:
warp{repeat x}
warp{repeat y}
warp{repeat z}
2) The way I did it was to modify the (x,y,z) parameters in the function call,
like this:
function{
My_pigment_function(
abs(x)-floor(abs(x)),
abs(y)-floor(abs(y)),
abs(z)-floor(abs(z))
)
}
This also tiles a <0,0,0>-<1,1,1> slice of the pattern in 3D - but if I'm not
mistaken, the pattern is mirrored at the origin.
--
Margus Ramst
Personal e-mail: mar### [at] peak edu ee
TAG (Team Assistance Group) e-mail: mar### [at] 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) |
Well it's incredible. I think I'm understanding it more as time goes on.
Bob
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) |
Obviously guessing how something is done without knowing all the possible
tools and/or techniques available can get a person nowhere. I was trying to
think of how the old-fashioned texturing methods would create it.
Bob
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) |
"Bob H." wrote:
> Obviously guessing how something is done without knowing all the possible
> tools and/or techniques available can get a person nowhere. I was trying to
> think of how the old-fashioned texturing methods would create it.
Me too. I think a lot of people try to do that.
...and people with pirated versions of Max realize that and use it to their
advantage...
--
David Fontaine <dav### [at] faricy net> ICQ 55354965
My raytracing gallery: http://davidf.faricy.net/
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) |
> 2) The way I did it was to modify the (x,y,z) parameters in the
function call,
> like this:
> function{
> My_pigment_function(
> abs(x)-floor(abs(x)),
> abs(y)-floor(abs(y)),
> abs(z)-floor(abs(z))
> )
> }
> This also tiles a <0,0,0>-<1,1,1> slice of the pattern in 3D - but if
I'm not
> mistaken, the pattern is mirrored at the origin.
why you absolute coordinates ?
My_pigment_function(x-floor(x),y-floor(y),z-floor(z))
ABX
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) |
Wlodzimierz ABX Skiba wrote:
>
> why you absolute coordinates ?
>
Because, if I'm not mistaken, that mirrors the pattern at the origin :)
In my case, that was the desired effect. Otherwise, repeat warps can do the job
and are probably easier to understand.
--
Margus Ramst
Personal e-mail: mar### [at] peak edu ee
TAG (Team Assistance Group) e-mail: mar### [at] tag povray org
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
From: Anton Sherwood
Subject: Re: fished onion - how do this (2 img - 223KB bu)
Date: 13 May 2001 03:28:32
Message: <3AFE37D6.B037BBB1@pobox.com>
|
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
would it be cheating to print the fish onto a cylinder?
--
Anton Sherwood -- br0### [at] p0b0x com -- http://ogre.nu/
Post a reply to this message
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |
| ![](/i/fill.gif) |
|
![](/i/fill.gif) |
|
![](/i/fill.gif) |
| ![](/i/fill.gif) |