POV-Ray : Newsgroups : povray.general : POV 4 ideology proposal : Re: POV 4 ideology proposal Server Time
29 Jul 2024 20:16:02 EDT (-0400)
  Re: POV 4 ideology proposal  
From: Rainer Mager
Date: 12 Apr 1999 06:05:13
Message: <3711b749.0@news.povray.org>
Hi all,

    I've seen these issue come up a number of times.

    I think one issue is the POV language. I remember there was talk about
this a while back regarding a binary scene language for POV and its plusses
and minuses. I believe the official plan was to clean up the current POV
language a bit and make an official syntax guide for it. This would allow
people to build their own scene language (OOP, stack based, whatever) and
then parse that into the POV format.
    I think this is a pretty good solution. It maintaints backwards
compatibility (as much as possible) but also allows language extensibility.
There is one big minus, though. It still makes it very difficult to use
POV's internal routines during the scene parsing phase. For example, doing
object intersection tests, etc is still not possible. To acheive these
abilities would require either a very large rewrite of POV or significant
work on a new scene language front end. Since that front end would need to
use all of POV's internal algorithms anyway, I think it makes sense to do it
at the corse, i.e., in POV itself.
    So, this brings back up the earlier debate regarding the scene language.
Maybe it is time to create a different POV scene language. One that is very
strictly defined and also has the information retrieval routines (e.g.,
object intersection) that would be so useful. Then someone could put a
"traditional" POV scene language wrapper on top of that for backwards
compatibility.

    Another issue is POV engine growth and extensibility. It is certainly
very important to be able to add new features to POV as they become
desireable and feasible (as CPU become faster and faster). How to do useful
plugins is always a difficult question. The biggest issue here being
portability. It is not fair for only some platforms to have the new plugins.
    Well, one solution I see to this would be having some interpreted
language in POV to create the plugins. This would then, of course, be very
slow. Another solution is to have a more open development system where
contributions can be rolled into official builds more quickly.
    If the development system is opened up then I think that the POV source
code should be made more orderly so that it is easier to add to (I believe
this is planned anyway). Also a good method of evaluating POV patches would
be necessary.
    Personally I'm pretty happy with the POV feature set. My biggest desire
is a different scene language that allows retrieving information from the
POV engine during parsing. Of course some of the recent patches are pretty
cool and I think they should be rolled into the official POV distribution
but not too hastily.

    One other thought I've had was going back to the interpreted idea
mentioned above. I was wondering if a very small, tightly coded, minimum
feature-set of ray tracing could be written and compiled and from that set
additions are added. I do not know enough about the details of a ray tracer
to say too much more but it seems there are things in POV that need not be
in the core of the program. For example, shouldn't there be a more flexible
way to define objects such that there need not be so many different types?
Yes, yes, I know, this would cause a speed hit on the rendering but I'm
wondering if that could be minimized via the scener parser/compiler.
Similarly, all of the warps, turbulations, media, etc should be able to be
emilimated via a very basic system. Perhaps something that allows flexible
object definitions, flexible light definitions, and flexible texture
definitions, and the camera of course. After all isn't that all we need?
Every pov scene is simply objects with textures, light (maybe with texture),
and the camera (maybe with textures). Even media can just be objects with
textures.
    If those 4 things could be broken down into a very basic definition then
everything else could be built on top of that in some scripting language. If
those basics were optimized enough in the main code then perhaps the later
scripting slowness would not be too bad.


    Well, sorry for the length. Just some thoughts. Any input from the POV
team (or anyone else)?


--Rainer

----- Original Message -----
From: Eugene Arenhaus <chi### [at] netvisionnetil>
Newsgroups: povray.general,povray.programming
Sent: 1999?4?8? 21:49
Subject: POV 4 ideology proposal


> Hi.
>
> Here are some thoughts about what POV-Ray 4 could look like.
>
> The POV team is especially welcome to read. :)
>
> Thanks!
>
>
>
>      (``      Email:    mailto:chi### [at] netvisionnetil
>      (=o \    Web page: http://www.furnation.com/chipmunk
>   _  / ,-'    ftp://velar.ctrl-c.liu.se/vcl/Artists/Eugene-Arenhaus/
>  ( `(   )
>   ) /  ``O    "To see a World in a grain of sand,
>   ''  `,~'     And a Heaven in a wild flower,
>   \    ))      Hold Infinity in the palm of your hand,
>    `---``      And Eternity in an hour."  (W. Blake)
>
>
>


Post a reply to this message

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