POV-Ray : Newsgroups : povray.advanced-users : [edit] *.pov file live in modeller ? : Re: [edit] *.pov file live in modeller ? Server Time
8 Jul 2024 19:30:55 EDT (-0400)
  Re: [edit] *.pov file live in modeller ?  
From: Warp
Date: 14 Aug 2007 10:49:42
Message: <46c1c106@news.povray.org>
Stephen <mcavoys_AT_aolDOT.com> wrote:
> Warp <war### [at] tagpovrayorg> wrote:
> > stu <stu### [at] hotmailcom> wrote:
> > >   ...can we take a finished *.pov scene file, and open
> > > it in any of the modellers, making adjustments, live,
> > > to the position of objects, lights, or other scene
> > > elements ?
> >
> >   No.

> Actually the answer is Yes, for a limited subset of Pov-Ray objects.

  Well, technically speaking the answer is still no, because he asked
if any pov file can be opened in any modeller. While some modellers
support a very small subset of the pov file syntax, they don't support
it all.

  I doubt there will be any import support for pov files in the near
future. At least not until povray changes its license to allow code
from it taken and included in other programs.

  This is because supporting all possible pov files requires replicating
over half of the povray raytracer.
  For example, objects can be placed using the trace() function, which
obviously requires support for raytracing any object or csg. Likewise
the inside() function can be used to affect object creation, requiring
raytracing properties for all objects. Objects can also be placed using a
pigment function, which requires being able to evaluate correctly all
possible povray pigments. Objects can be placed using user-defined
functions (which in themselves can use things like image maps, objects,
patterns and pigments), which would also require support for a whole lot
of things. Pov source files can create and write additional source files,
which it can include (even making loops this way is possible), which
further complicates matters. And naturally objects can be created using
identifiers, loops, macros, arrays and other complicated means.

  Of course even if you could read correctly the type and placement of
all objects, there's still the problem of tesselation, at least if the
modeller uses triangle meshes and doesn't support all the primitives
which povray does. Tesselation of povray objects is a rather big problem
in itself.
  Some objects, such as spheres, cylinders and boxes, are easy to tesselate.
Some, like for example CSG, are more complicated, but possible. Some objects
are quite a lot more complicated, such as the julia object and the poly
object. One interesting twist with the poly object is that it can define
an infinitely large non-planar surface. Even if you limited the tesselation
of such an object to finite limits, you would still require a humongous
amount of triangles. A 100-byte pov file could well result in a 100-gigabyte
tesselated file.

-- 
                                                          - Warp


Post a reply to this message

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