POV-Ray : Newsgroups : povray.general : We need a new 'render' statement : Re: We need a new 'render' statement Server Time
29 Jul 2024 18:27:01 EDT (-0400)
  Re: We need a new 'render' statement  
From: Rainer Mager
Date: 24 Nov 1998 00:05:50
Message: <365a3eae.0@news.povray.org>
Hi all,

    I'd like to clarify a few things I wrote.

    First off, I think, at the stage POV's current language is in, almost
anything can be done in the POV language that could be done in any other
language. Given this, I don't think the issue is that POV can or can't do
something, I think the issue is that certain things could be done much
easier (and perhaps much faster) in other languages.
    I think the biggest example of this is that the POV language does not
allow for the creation of very robust libraries. Whether they are libraries
of objects or animation utilities or whatever. If there was a way to create
and use well-defined and well-tested libraries then I think this would
greatly aid in many people creating scenes and animations.
    What I mentioned briefly in my original post was one such library,
physics related animation things. The ability to have a function to compare
objects and check of overlap would be very useful. Although this is possible
now by keeping careful track of where an object is and what size it is and
how it is scaled and running that through a formula for that type of object
and comparing that to other objects, this is very unwieldy.
    Likewise the ability to easily apply movement to all (or a set) of
objects in a scene, for example, make every object in the scene "fall" (as
in a gravity field) for 0.2 seconds given such-and-such a gravity constant
would be very useful. Again, this is possible in the POV language but it is
not easy and it is very difficult to make a library such that arbitrary
objects can use this function.

    Second, the main purpose of my Perl module is to put a frame around the
POV language that is more robust that the current language. I think Perl can
do this. Again, I'm not claiming this is the be-all-end-all solution but I
think it can be implemented fairly quickly and in reasonable stages such
that a useable (if not complete) version is available soon.
    I'm hoping that this frame is able to allow the libraries I mentioned
above and other features that people come up with. At the same time I
realize that learning and using a new language (Perl) is difficult for many
people. I suggest that, unless you are quite adventurous, you don't use this
module until it is well tested and has some libraries available that make it
more attractive.

    Third, I also briefly mentioned in my post the desire to have POV parse
a binary language instead of the POV language. My main desire for this
feature is this. I think that this could be done much more quickly and
perhaps more memory efficiently that the current parsing method. I also this
that this would allow the POV team to concentrate more on the graphics
aspects of POV Ray and leave the language aspects to whoever wishes to
contribute to them.
    Probably the POV team should have one "official" POV compiler that takes
the current POV language and converts it to the binary language. At the same
time, if someone, such and myself, feels that they can contribute by making
a different language, a well-defined binary language would encourage this.


    Anyway, since my Perl module isn't done yet and hasn't been used to make
any real scenes yet, I can't yet say if I feel it is really an advantage
over vanilla POV. Hopefully it will be so but I don't know yet. I'll keep
you all posted.


--Rainer


Post a reply to this message

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