POV-Ray : Newsgroups : povray.programming : Parse storage. : Re: Parse storage. Server Time
29 Jul 2024 06:23:11 EDT (-0400)
  Re: Parse storage.  
From: Axel Hecht
Date: 9 Feb 1999 05:14:53
Message: <36C00AD4.CE3EEA35@numerik.uni-kiel.de>
Spider wrote:
> 
> Hello, just me and my wild ideas here.
> I have been working a lot with macro's and creating lot's of objects(See
> my fireworks posts)
> While doing this, I have to check lightsourses and fog settings, and
> since the fireworks are lightsources I need to wait for parse every
> time.
> Now I wondered, is there a possibility to add something of a expander to
> pov?
> 
> By storing the parsed data in a new file, ex. example.pov ->example.par
> ->example.tga
> 
> This could be specified with a command line argument, or a setting in
> global_settings {
>   write_parse true
>   load_parse false
> }
> 
> This is only an idea, I'm not sure if it'd work, or if it is implemented
> somewhere already, but I think it might come in hadny in several cases.
> 
> //Spider

Hi,
I don't exactly know where to put my reply as it comments on some parts
of the thread. So it just goes here.

Reading the thread it comes to my mind, that the major problem is
creating a set of similar objects.

I am mostly doing Matlab-programming, which is in a way quite similar to
PovRay. It is a interpreter. Well, that quite all, but in fact, Matlab
is darn slow on loops. Loops are hell, to be honest, and they usually
even kill the memory management. Being specialised on chunks of data,
Matlab is vecotrizing a lot of operations. This could possibly be done
in Povray just as well. So instead of doing some
#while
  sphere{}
#end

thing one could just define an array
#define hallo= array[3][3]{{1,0,0},{2,0,0},{3,0,0}}
and generate three spheres by
sphere{hallo,1}

It's a bit tricky and you possibly have to restrict this feature on some
specific variant of the syntax, but it generally speeds up quite a lot.

Axel


Post a reply to this message

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