|
|
So, I was pondering the extension of some patterns, and it occurred to me that
having a 3D primitive-based version of:
https://wiki.povray.org/content/Reference:Warp#Repeat_Warp
would be an excellent feature to be made available - especially for new users or
the non-mathematically inclined.
At present, I can define a set of functions to be evaluated as a pigment {}
pattern, and can use the repeat warp to infinitely tile a plane (or, I suppose,
all of 3D space)
However what I cannot do (*) is define a set of objects like spheres, and have
them infinitely repeated using the repeat warp.
* Now, what I can envision is somehow using the object {} pattern to laboriously
achieve this with some well thought out nesting of the inside and outside
textures (I do not have the ability to test this at the present moment) -
however that seems to be very labor intensive, takes a bit of skill and/or macro
writing, and may not work as I imagine it could.
The idea there being that the objects could be assigned the inside texture,
while the outside would be a transparent rgbt 1. Then a "thick box" - the
intersection of 2 planes could be assigned that object {} texture with a repeat
warp applied.
I think it would be vastly easier on the user, and probably much faster if
implemented internally, so that one could simply define a typical CSG object,
textured in the usual manner, and then use the min & max_extents to define the
repeat vectors (perhaps as the default).
Thoughts, criticisms, comments on the feasibility, and SDL / source
implementations welcome. ;)
- BE
Post a reply to this message
|
|