POV-Ray : Newsgroups : povray.pov4.discussion.general : Extensible functionality : Re: Extensible functionality Server Time
10 Dec 2023 21:24:29 EST (-0500)
  Re: Extensible functionality  
From: Anthony D  Baye
Date: 17 Jul 2011 12:35:00
Message: <web.4e230e4220634cd0e5496b350@news.povray.org>
Warp <war### [at] tagpovrayorg> wrote:
> Anthony D. Baye <Sha### [at] spamnomorehotmailcom> wrote:
> > With this in mind, there is something I've been wondering for a long time, now:
> > Might it be possible since, if memory serves, version 4 will be a complete
> > rewrite anyway, that one of the improvements might be the ability to extend the
> > functionality with plugins?
>   Well, it has been suggested that version 4 would have a completely
> redesigned scripting language which will be significantly more expressive
> and faster. If it ever sees the day of light, it will be possible to do
> almost anything with it. (I envision it to be like a programmable shader,
> but even more expressive and usable in even more situations.)
> --
>                                                           - Warp

I have to say that I am not enamored with this idea.  I see no need to
completely trash an SDL which has been in use for twenty years, and upon which
countless hours of work is based.  I have no desire to completely retool all my
projects to use a new language.

I am not opposed to extending the SDL with a built-in scripting language like
script-fu (just an example) it could be useful; but I see no need for a complete
change of syntax.

Keeping in mind that I haven't had time to look at the code much.

That said, I have a few ideas for new features.

A skeleton/wireframe object which would consist of a set of control_points
defined as positions in space, perhaps using a keyword like relative_to which
would reference a list of other control points.
CSG objects could reference the skeleton/wireframe with a lock_to keyword which
binds the origin of the object to a specific control point such that when the cp
moves, the object moves with it.

introducing an aspect keyword which would have its own list of parameters such
that an object could not only be rotated using the rotate command, but could be
aligned with a vector such that when the vector was changed, the object would
shift, along with it while maintaining its alignment.

This is, however, not the central topic of my post.  I was thinking of a method
by which the internal structures of the program could be extended with new
features via dropping extensions in a specified directory.  Such as GIMP and
Photoshop use, but perhaps more powerful.  The extensions might be comprised of
a zip file containing a text file which references precompiled headers and
specifying the methods those headers access/extend.  When loading, POV might
link to these extensions, so that scenes can use their features.

There's probably a more elegant method than the one described above, but I
haven't had time to think all the way around it yet.


Post a reply to this message

Copyright 2003-2023 Persistence of Vision Raytracer Pty. Ltd.