POV-Ray : Newsgroups : povray.general : memory question : Re: memory question Server Time
2 Aug 2024 16:25:24 EDT (-0400)
  Re: memory question  
From: emkaah
Date: 28 Aug 2004 15:07:54
Message: <4130d80a@news.povray.org>
Thanks, but that was not the point I am trying to make. But to clear 
things up I refrase the question;

I get the idea that:

#declare SphereA = sphere{<0,0,0>,5}

#declare Count = 0;
union{
  #while (Count<5)
   object{SphereA translate x*2*Count}
   #declare Count = Count + 1;
  #end
  pigment{Green}
}

uses a lot more memory then:

union{
  sphere{<0,0,0>,5 translate x*2}
  sphere{<0,0,0>,5 translate x*4}
  sphere{<0,0,0>,5 translate x*6}
  sphere{<0,0,0>,5 translate x*8}
  sphere{<0,0,0>,5 translate x*10}
  pigment{Green}
}

I solve this problem by writing it to a .inc file with the #write 
function. I just didn't expect a big difference in memory usage with the 
two methods.


John VanSickle wrote:
> emkaah wrote:
> 
>> I'm working on a macro, and I get the idea that:
>>
>> #declare SphereA = sphere{<0,0,0>,5 pigment{Green}}
>>
>> #declare Count = 0;
>> union{
>>  #while (Count<5)
>>   object{SphereA translate x*2*Count}
>>   #declare Count = Count + 1;
>>  #end
>> }
>>
>> uses a lot more memory then:
>>
>> union{
>>  sphere{<0,0,0>,5 pigment{Green} translate x*2}
>>  sphere{<0,0,0>,5 pigment{Green} translate x*4}
>>  sphere{<0,0,0>,5 pigment{Green} translate x*6}
>>  sphere{<0,0,0>,5 pigment{Green} translate x*8}
>>  sphere{<0,0,0>,5 pigment{Green} translate x*10}
>> }
>>
>> Can somebody tell me this is true? I find this strange for some reason.
> 
> 
> The spheres in the union all use the same texture.  The separately-
> declared spheres all use separate textures (since you gave them
> separate ones).
> 
> So, if you're going to texture a bunch of things the same way, see if
> they can go into a union together, and give the union the texture.  This
> works very well if the texture is not patterened.
> 
> Regards,
> John


Post a reply to this message

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