|
|
Wasn't it Bin2Hex who wrote:
>Hi all,
>
>I've worked some time ago with PovRay for a little time and now I needed to
>do a simple thing, but don't know how to do it.
>
>How can I have a different texture in each side of a box?
>
>I know how to create the textures and the box and all the rest I need, but
>don't know how to assign a different texture to each side.
You could uv_map the box, or you could replace the box by an
intersection of planes (like the way "cube" used to be defined in early
versions of POV).
// Write a macro, so we don't have to check the order of the X Y and Z
// values manually.
#macro CUBE(P1,P2,T1,T2,T3,T4,T5,T6)
#local X1=min(P1.x,P2.x);
#local X2=max(P1.x,P2.x);
#local Y1=min(P1.y,P2.y);
#local Y2=max(P1.y,P2.y);
#local Z1=min(P1.z,P2.z);
#local Z2=max(P1.z,P2.z);
intersection {
plane { x, X2 texture {T1}}
plane {-x,-X1 texture {T2}}
plane { y, Y2 texture {T3}}
plane {-y,-Y1 texture {T4}}
plane { z, Z2 texture {T5}}
plane {-z,-Z1 texture {T6}}
}
#end
//Invoke the macro, passing it the points at opposite corners
//and six textures
CUBE(<0,0,0>,<1,1,1>,
texture{pigment{rgb x}},
texture{pigment{rgb x}},
texture{pigment{rgb y}},
texture{pigment{rgb y}},
texture{pigment{rgb z}},
texture{pigment{rgb z}}
)
--
Mike Williams
Gentleman of Leisure
Post a reply to this message
|
|