|
![](/i/fill.gif) |
One thing I've been thinking of that could make some things easier (for
beginners as well as for advanced users) is a new object type: a point
object.
syntax is POINT{[POINT IDENTIFIER][POINT LOCATION]}
..where the point identifier is used to name the object for future
reference.
"Why?" some might say - well here's an example:
I made a demo scene for my smoke generation macro, consisting of a
rotating cube with 8 smoke sources (one in each corner). This is how it
could have been done (if there was such an object):
union{
RoundedCubeObject
point{point1,<1,1,1>}
point{point2,<1,1,-1>}
point{point3,<-1,1,-1>}
point{point4,<-1,1,1>}
point{point5,<1,-1,1>}
point{point6,<1,-1,-1>}
point{point7,<-1,-1,-1>}
point{point8,<-1,-1,1>}
rotate <clock*360,clock*360,clock*360> // affects the point objects as
well
}
With a little OO thrown in, it would then be possible to do this:
#declare obj_pos=point1.location;
#include "SmokeGen.inc"
#declare obj_pos=point2.location;
#include "SmokeGen.inc"
--
#declare obj_pos=point8.location;
#include "SmokeGen.inc"
This way, you don't have to deal with math(which I believe keeps some
users from using POV today).
Instead, I had to make a vector array where the vectors are redeclared
using a rotation identifier and also use vrotate() (which I don't mind
using but beginners might have a hard time using). Quite messy.
Comments?
- Mikael.
-----------------------------------------------------------------
Mikael Carneholm
Dep. of Computer Science
http://www.studenter.hb.se/~arch
E-mail: sa9### [at] ida utb hb se
Post a reply to this message
Attachments:
Download 'us-ascii' (1 KB)
|
![](/i/fill.gif) |