POV-Ray : Newsgroups : povray.advanced-users : Povtree macro (mesh created at parsing whith loops) seems to waste memory : Re: Povtree macro (mesh created at parsing whith loops) seems to waste memo= Server Time
25 Apr 2024 05:54:55 EDT (-0400)
  Re: Povtree macro (mesh created at parsing whith loops) seems to waste memo=  
From: Warren
Date: 21 Jul 2018 05:50:00
Message: <web.5b530049fe12f07620df21d60@news.povray.org>
Thomas de Groot <tho### [at] degrootorg> wrote:
>
> I think that you are mixing up to different things. Clipka already
> hinted at the same. To understand what is happening when using POVtree
> (written by Gena Obukov) you need to know a bit of the program's history.
>
> - TOMtree was written by Tom Aust in 2000 as a POV-Ray set of macros to
> generate CSG tree objects, i.e. /without/ the use of triangles. That is
> the reason why you do not find triangles in those macros.
>
> - POVtree was written by Gena Obukov as a java program, based on the
> TOMtree macros, with - as an addition - the possibility to export the
> tree as a mesh{} object (hence the triangles). Otherwise, POVtree saves
> the data in the TOMtree format which can be used as CSG object.
>
> - [aside] Implementation of mesh2{} export was never realised and
> meanwhile unfortunately Gena disappeared from the POV scene. [/aside]
>
> So, in defining your problem, you need to clearly discriminate between
> what is due to the TOMtree macros, and what is due to POVtree.
>
> Hoping to have shed a little light.
>
> --
> Thomas

Based on your last explanation and what I've been seeing in TOMTREE-1.5.inc and
the povtree java generated mesh file (tell me if I'm wrong):

- If I stick to the TOMTREE-1.5.inc file and choose not to generate a mesh file
with povtree , I get a CSG object , i.e, a union of blob and mesh (only the
leaves are meshes; the trunk, twigs, branches and ramifications are blob of
spheres (no cylinders, but that's a detail). And there can be height fields too
(though I'm not sure), there are height fields objects in 'TOMLEAF.inc' which is
a file used with TOMTREE-1.5.inc.

- If I stick to the mesh file generated with povtree , I get a union of two mesh
objects named WOOD and FOLIAGE but that's still a CSG object because basically
it's a union.

There is only union as CSG parameter , and no merge, intersection or difference
at all. I didn't find any trace of theses words in all files.

But Clipka said that blobs, height fileds and meshes share their bulk data among
copies. So, if I understand that the CSG mesh file that contains FOLIAGE and
WOOD is not copied each time a new sample of it is created, why is this not the
case of the CSG object generated by TOMTREE-1.5.inc ? After thinking more about
it I have some other questions that can answer the first one (I'm sorry, I don't
speak english perfectly, but I have a french/english dictionnary beside me ;-)
):

The CSG object generated by TOMTREE-1.5.inc (from Tom Aust) is a 'compound'
object. That means it is a 'mix' of several different objects, which explains
like clipka said that it is an object that is therefore copied each time you
create a new sample of it ?
Whereas the object that is a union of WOOD and FOLIAGE is not a 'compound'
object, that's a mesh even if there is a union of these two meshes.

Is this the cornerstone that explains that one is copied and the other not?


Post a reply to this message

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