POV-Ray : Newsgroups : povray.beta-test : selective component loading..... Server Time
25 Dec 2024 21:02:13 EST (-0500)
  selective component loading..... (Message 1 to 10 of 10)  
From: Andycadd
Subject: selective component loading.....
Date: 21 Oct 2007 13:35:00
Message: <web.471b8d4aa1752c5efedbe4b90@news.povray.org>
is there such a system in the scene control language?

IE...  a very large file of many textures takes up too much memory
is there anyway to only load "specific" lines from an include file? not the
whole file.


Post a reply to this message

From: Alain
Subject: Re: selective component loading.....
Date: 21 Oct 2007 18:00:00
Message: <471bcbe0@news.povray.org>
Andycadd nous apporta ses lumieres en ce 2007/10/21 13:32:
> is there such a system in the scene control language?
> 
> IE...  a very large file of many textures takes up too much memory
> is there anyway to only load "specific" lines from an include file? not the
> whole file.
> 
> 
Nothing built-in.
What you can do: make your own custom include file from the bits and pieces from 
the various includes you use. That way, you only concerve the deffinitions that 
you actualy use, plus some that you think you may need further in the devlopment 
of your scene.

-- 
Alain
-------------------------------------------------
A Bill of Rights is what the people are entitled to against every
government, and what no just government should refuse, or rest on inference.
Thomas Jefferson


Post a reply to this message

From: Nicolas Alvarez
Subject: Re: selective component loading.....
Date: 22 Oct 2007 19:08:29
Message: <471d2d6d@news.povray.org>
Andycadd escribió:
> is there such a system in the scene control language?
> 
> IE...  a very large file of many textures takes up too much memory
> is there anyway to only load "specific" lines from an include file? not the
> whole file.
> 
> 
Totally wrong newsgroup; setting followup to povray.general.

You could either keep it in separate files, or use #if statements.

On main scene:
#declare UseHighQualityModels=no;
#declare UseHighQualityTextures=no;

On an included file:
#if(UseHighQualityModels)
  #declare Model = union {
   ...something BIG
  }
#else
  #declare Model = union {
   ...simplified model...
  }
#end

object {
  Model
  #if(UseHighQualityTextures)
   texture {
    ...something BIG
   }
  #else
  pigment {
   color Yellow
  }
  #end
}


Post a reply to this message

From: Andycadd
Subject: Re: selective component loading.....
Date: 23 Oct 2007 20:55:00
Message: <web.471e96f67dcd5e2ffedbe4b90@news.povray.org>
Nicolas Alvarez <nic### [at] gmailisthebestcom> wrote:
> Andycadd escribió:
> > is there such a system in the scene control language?
> >
> > IE...  a very large file of many textures takes up too much memory
> > is there anyway to only load "specific" lines from an include file? not the
> > whole file.
> >
> >
> Totally wrong newsgroup; setting followup to povray.general.
>
> You could either keep it in separate files, or use #if statements.
>
> On main scene:
> #declare UseHighQualityModels=no;
> #declare UseHighQualityTextures=no;
>
> On an included file:
> #if(UseHighQualityModels)
>   #declare Model = union {
>    ...something BIG
>   }
> #else
>   #declare Model = union {
>    ...simplified model...
>   }
> #end
>
> object {
>   Model
>   #if(UseHighQualityTextures)
>    texture {
>     ...something BIG
>    }
>   #else
>   pigment {
>    color Yellow
>   }
>   #end
> }

Thank you for your very useful routines for step 2

BUT....    step 1.  Is there a partial load possible for ".inc" files?
a file access keyword to let me search for specific textures/materials from
within the parser, rather than loading the entire ".inc" file.

the SCENE DESCRIPTION LANGUAGE equivalent to:
(fileopen "XXX" "rw")
(wcmatch "XXXX" file)
(readfile ....  " xx ;" )

I want to do this because I have a few thousand texture maps and definitions
which overload the stack if I load them all simultaneously.

Or better would be a "purge" type function to clear out unused textures from
the stack before rendering.

I have a collection of many thousand finishes and architectural elements, in
texture/material definitions some are in bitmap form.  I slapped them
together with excel into a dozen or so ".inc" files that are cumbersome to
work with.  So selective loading would minimize my cumber with regards to
using my library.

The best would be a "purge" type function, to remove the excess items.  This
would be the most useful and trouble free, especially if it could be called
repeatedly from within an ".inc" file.

oh and where is the proper group for this discussion?


Post a reply to this message

From: Andycadd
Subject: Re: selective component loading.....
Date: 23 Oct 2007 21:10:01
Message: <web.471e9b2d7dcd5e2ffedbe4b90@news.povray.org>
Nicolas Alvarez <nic### [at] gmailisthebestcom> wrote:
> Andycadd escribió:
> > is there such a system in the scene control language?
> >
> > IE...  a very large file of many textures takes up too much memory
> > is there anyway to only load "specific" lines from an include file? not the
> > whole file.
> >
> >
> Totally wrong newsgroup; setting followup to povray.general.
>
> You could either keep it in separate files, or use #if statements.
>
> On main scene:
> #declare UseHighQualityModels=no;
> #declare UseHighQualityTextures=no;
>
> On an included file:
> #if(UseHighQualityModels)
>   #declare Model = union {
>    ...something BIG
>   }
> #else
>   #declare Model = union {
>    ...simplified model...
>   }
> #end
>
> object {
>   Model
>   #if(UseHighQualityTextures)
>    texture {
>     ...something BIG
>    }
>   #else
>   pigment {
>    color Yellow
>   }
>   #end
> }


Post a reply to this message

From: Alain
Subject: Re: selective component loading.....
Date: 24 Oct 2007 12:31:00
Message: <471f7344@news.povray.org>
Andycadd nous apporta ses lumieres en ce 2007/10/23 20:51:
> Nicolas Alvarez <nic### [at] gmailisthebestcom> wrote:
>> Andycadd escribió:
>>> is there such a system in the scene control language?
>>>
>>> IE...  a very large file of many textures takes up too much memory
>>> is there anyway to only load "specific" lines from an include file? not the
>>> whole file.
>>>
>>>
>> Totally wrong newsgroup; setting followup to povray.general.
>>
>> You could either keep it in separate files, or use #if statements.
>>
>> On main scene:
>> #declare UseHighQualityModels=no;
>> #declare UseHighQualityTextures=no;
>>
>> On an included file:
>> #if(UseHighQualityModels)
>>   #declare Model = union {
>>    ...something BIG
>>   }
>> #else
>>   #declare Model = union {
>>    ...simplified model...
>>   }
>> #end
>>
>> object {
>>   Model
>>   #if(UseHighQualityTextures)
>>    texture {
>>     ...something BIG
>>    }
>>   #else
>>   pigment {
>>    color Yellow
>>   }
>>   #end
>> }
> 
> Thank you for your very useful routines for step 2
> 
> BUT....    step 1.  Is there a partial load possible for ".inc" files?
> a file access keyword to let me search for specific textures/materials from
> within the parser, rather than loading the entire ".inc" file.
> 
> the SCENE DESCRIPTION LANGUAGE equivalent to:
> (fileopen "XXX" "rw")
> (wcmatch "XXXX" file)
> (readfile ....  " xx ;" )
> 
> I want to do this because I have a few thousand texture maps and definitions
> which overload the stack if I load them all simultaneously.
> 
> Or better would be a "purge" type function to clear out unused textures from
> the stack before rendering.
> 
> I have a collection of many thousand finishes and architectural elements, in
> texture/material definitions some are in bitmap form.  I slapped them
> together with excel into a dozen or so ".inc" files that are cumbersome to
> work with.  So selective loading would minimize my cumber with regards to
> using my library.
> 
> The best would be a "purge" type function, to remove the excess items.  This
> would be the most useful and trouble free, especially if it could be called
> repeatedly from within an ".inc" file.
> 
> oh and where is the proper group for this discussion?
> 
> 
There is NO WAY that you can only load some parts of an include file. There is 
NO "purge" command.

At the present time, your options are:
  - Load the entire include files.
  - Make your own custom, expurged, includes. Those can be trimmed down to only 
the deffinitions that you actualy use.

Please note that this topic does NOT belong to the beta-test group, but to the 
advanced-users group.

-- 
Alain
-------------------------------------------------
You know you've been raytracing too long when you have ever brought your 
computer to its knees by mistakenly launching 64 simultaneous frames to be 
traced, while trying to maximizing the benefits of parallelizing them.
Carsten Whimster


Post a reply to this message

From: Nicolas Alvarez
Subject: Re: selective component loading.....
Date: 24 Oct 2007 17:07:58
Message: <471fb42e@news.povray.org>

> BUT....    step 1.  Is there a partial load possible for ".inc" files?
> a file access keyword to let me search for specific textures/materials from
> within the parser, rather than loading the entire ".inc" file.

No. But you can do:
#if (something)
#include "file.inc"
#end

Conditional including is possible. Partial including is not.


Post a reply to this message

From: Andycadd
Subject: Re: selective component loading.....
Date: 24 Oct 2007 21:10:00
Message: <web.471feca07dcd5e2ffedbe4b90@news.povray.org>
Nicolas Alvarez <nic### [at] gmailisthebestcom> wrote:

> > BUT....    step 1.  Is there a partial load possible for ".inc" files?
> > a file access keyword to let me search for specific textures/materials from
> > within the parser, rather than loading the entire ".inc" file.
>
> No. But you can do:
> #if (something)
> #include "file.inc"
> #end
>
> Conditional including is possible. Partial including is not.

Yes Yes is there a glossary/appendix for the syntax somewhere?

thank you


Post a reply to this message

From: Andycadd
Subject: Re: selective component loading.....
Date: 14 Nov 2007 01:35:00
Message: <web.473a95fa7dcd5e2ffedbe4b90@news.povray.org>
"Andycadd" <And### [at] comcastnet> wrote:
> Nicolas Alvarez <nic### [at] gmailisthebestcom> wrote:

> > > BUT....    step 1.  Is there a partial load possible for ".inc" files?
> > > a file access keyword to let me search for specific textures/materials from
> > > within the parser, rather than loading the entire ".inc" file.
> >
> > No. But you can do:
> > #if (something)
> > #include "file.inc"
> > #end
> >
> > Conditional including is possible. Partial including is not.
>
> Yes Yes is there a glossary/appendix for the syntax somewhere?
>
> thank you


Selective texture loading is possible...

1. Generate a list of the materials used (manually)
2. declare those materials/textures as simple low res textures
3. load the big long ".inc" file containg large numbers of textures, most of
which you wont load.
4. each material definition is wrapped in a conditional
#if   #then  using the "MATERIALNAME" so that only previously defined materials
are loaded / REdeclared.  all the other material names in the include file will
not be read in because the ifthen statement filtered them out.
5. you have just selectively loaded a material definition libraryfile.
6. definition file can contain large numbers of bitmaps or other
complex files.



PS  im sure i've seen this system somewhere anyone


Post a reply to this message

From: David Wallace
Subject: Re: selective component loading.....
Date: 19 Nov 2007 16:10:27
Message: <4741fbc3$1@news.povray.org>
Andycadd wrote:
> Nicolas Alvarez <nic### [at] gmailisthebestcom> wrote:
>> Andycadd escribió:
>>> is there such a system in the scene control language?
>>>
>>> IE...  a very large file of many textures takes up too much memory
>>> is there anyway to only load "specific" lines from an include file? not the
>>> whole file.
>>>
>>>
>> Totally wrong newsgroup; setting followup to povray.general.
>>
>> You could either keep it in separate files, or use #if statements.
>>
>> On main scene:
>> #declare UseHighQualityModels=no;
>> #declare UseHighQualityTextures=no;
>>
>> On an included file:
>> #if(UseHighQualityModels)
>>   #declare Model = union {
>>    ...something BIG
>>   }
>> #else
>>   #declare Model = union {
>>    ...simplified model...
>>   }
>> #end
>>
>> object {
>>   Model
>>   #if(UseHighQualityTextures)
>>    texture {
>>     ...something BIG
>>    }
>>   #else
>>   pigment {
>>    color Yellow
>>   }
>>   #end
>> }
> 
> Thank you for your very useful routines for step 2
> 
> BUT....    step 1.  Is there a partial load possible for ".inc" files?
> a file access keyword to let me search for specific textures/materials from
> within the parser, rather than loading the entire ".inc" file.
> 
> the SCENE DESCRIPTION LANGUAGE equivalent to:
> (fileopen "XXX" "rw")
> (wcmatch "XXXX" file)
> (readfile ....  " xx ;" )
> 
> I want to do this because I have a few thousand texture maps and definitions
> which overload the stack if I load them all simultaneously.
> 
> Or better would be a "purge" type function to clear out unused textures from
> the stack before rendering.
> 
> I have a collection of many thousand finishes and architectural elements, in
> texture/material definitions some are in bitmap form.  I slapped them
> together with excel into a dozen or so ".inc" files that are cumbersome to
> work with.  So selective loading would minimize my cumber with regards to
> using my library.
> 
> The best would be a "purge" type function, to remove the excess items.  This
> would be the most useful and trouble free, especially if it could be called
> repeatedly from within an ".inc" file.
> 
> oh and where is the proper group for this discussion?
> 
> 
I tend to keep a global variable, IsTest, in the scene file, prior to any 
includes.  The include files can then use this variable to use "final" and 
"test" versions of their objects.

Any object, texture, etc. that wanted to use this functionality would use the 
#if directive.  You could just as easily use several test variables for 
"stubbing" various groups of objects.

-- 
--------------
David Wallace
TenArbor Consulting
"Just In Time Cash"
www.tenarbor.com
1-866-572-CASH


Post a reply to this message

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