Re: [osg-users] [plugins] Osg writer add dataBasePath inPagedLod

2009-12-10 Thread Vincent Bourdier

Hi Robert,

I understand the non-black-list behavior, this is a very good thing.
I don't have time to spend on a new Registry::ReadFileCallback ... so I 
will use an other way.


I just run some tests using dataBasePath to "./" because the tree file 
and the Lods files are in the same path.
It works well if the .exe which load the tree is in the same path... If 
it is not, the tree loads but the DataBasePager
don't find any files... You said the path is relative to the parent... 
so if I understood you well, it may works...


Am I wrong ?

Thanks.

Regards,
  Vincent.


Robert Osfield a écrit :

HI Vincent,

PagedLOD does repeated request tiles on each frame till the request is
served or camera moves away and the PagedLOD child is no longer
needed.  Normally this overhead is not a significant factor, but if
you have hundreds of such failing requests on each frame I can see
that this might take longer.  The DatabasePager deliberately doesn't
black list as it has no way of knowing if the failure is just
temporary or not - for instance a temporary drop in http connection
isn't something you'd want to effect you app for the life of it.

If you wanted to black list this files yourself you could write a
Registry::ReadFileCallback that catches failed attempts to read files
and then stores the filename in a black list that it checks against in
future attempts to read files.

Robert.

On Wed, Dec 9, 2009 at 3:55 PM, Vincent Bourdier
 wrote:
  

Hi Robert,

Thanks for the answer, for the moment I don't have any piece of time to
spend on that, so I just set
databasePath myself.

I have a last question :
If a graph, containing thousands of pagedLod nodes is loaded, but some
pagedLod nodes can't find their
children because the file do not exist... Will the render loop be affected
because the loader thread is trying
again and again to load theses files ?
I get a scenegraph like that, and the loading time is very very slow... but
I know there are about 3000 files missing
(on a 30 000 files graph) but I just would have a confirmation because it
needs a lot of time to arrange the graph to remove
the inexistent children.

Thanks for your help.

Regards,
 Vincent

Robert Osfield a écrit :


HI Vincent,

On Tue, Dec 8, 2009 at 5:56 PM, Vincent Bourdier
 wrote:

  

So, why the path is not relative ? I understand the behavior, but the
path
is not a relative path so it can't work as you described it.



The child will be stored relative to the parent, and the path should
reflect this even in it's absolute form.  There is a little twist in
this in that the OSG has to cope with paged databases being pulled in
from http and then cached on the local disk, so the parents might be
loaded from the local disk, but the children haven't been downloaded
and cached yet so still sit on the http path, so you have to use the
http paths in the DatabasePath to be able to retreive them.  The
osgDB::FileCache automatically remaps http files that have been cached
so it's still is able to find them, and also their children that
aren't local.

All this functionality is there inbuilt into PagedLOD + osgDB, as is
managed automatically, while complex the intention is to hide this
complexity from users.  If you want to start digging into the the low
level side of this functionality then you'll need to accept you'll
need to learn about the ins and outs of how it all works.

Robert.

  

__ Information from ESET NOD32 Antivirus, version of virus signature
database 4672 (20091209) __

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org





__ Information from ESET NOD32 Antivirus, version of virus signature 
database 4675 (20091210) __

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] [plugins] Osg writer add dataBasePath inPagedLod

2009-12-09 Thread Robert Osfield
HI Vincent,

PagedLOD does repeated request tiles on each frame till the request is
served or camera moves away and the PagedLOD child is no longer
needed.  Normally this overhead is not a significant factor, but if
you have hundreds of such failing requests on each frame I can see
that this might take longer.  The DatabasePager deliberately doesn't
black list as it has no way of knowing if the failure is just
temporary or not - for instance a temporary drop in http connection
isn't something you'd want to effect you app for the life of it.

If you wanted to black list this files yourself you could write a
Registry::ReadFileCallback that catches failed attempts to read files
and then stores the filename in a black list that it checks against in
future attempts to read files.

Robert.

On Wed, Dec 9, 2009 at 3:55 PM, Vincent Bourdier
 wrote:
> Hi Robert,
>
> Thanks for the answer, for the moment I don't have any piece of time to
> spend on that, so I just set
> databasePath myself.
>
> I have a last question :
> If a graph, containing thousands of pagedLod nodes is loaded, but some
> pagedLod nodes can't find their
> children because the file do not exist... Will the render loop be affected
> because the loader thread is trying
> again and again to load theses files ?
> I get a scenegraph like that, and the loading time is very very slow... but
> I know there are about 3000 files missing
> (on a 30 000 files graph) but I just would have a confirmation because it
> needs a lot of time to arrange the graph to remove
> the inexistent children.
>
> Thanks for your help.
>
> Regards,
>  Vincent
>
> Robert Osfield a écrit :
>>
>> HI Vincent,
>>
>> On Tue, Dec 8, 2009 at 5:56 PM, Vincent Bourdier
>>  wrote:
>>
>>>
>>> So, why the path is not relative ? I understand the behavior, but the
>>> path
>>> is not a relative path so it can't work as you described it.
>>>
>>
>> The child will be stored relative to the parent, and the path should
>> reflect this even in it's absolute form.  There is a little twist in
>> this in that the OSG has to cope with paged databases being pulled in
>> from http and then cached on the local disk, so the parents might be
>> loaded from the local disk, but the children haven't been downloaded
>> and cached yet so still sit on the http path, so you have to use the
>> http paths in the DatabasePath to be able to retreive them.  The
>> osgDB::FileCache automatically remaps http files that have been cached
>> so it's still is able to find them, and also their children that
>> aren't local.
>>
>> All this functionality is there inbuilt into PagedLOD + osgDB, as is
>> managed automatically, while complex the intention is to hide this
>> complexity from users.  If you want to start digging into the the low
>> level side of this functionality then you'll need to accept you'll
>> need to learn about the ins and outs of how it all works.
>>
>> Robert.
>>
>
>
> __ Information from ESET NOD32 Antivirus, version of virus signature
> database 4672 (20091209) __
>
> The message was checked by ESET NOD32 Antivirus.
>
> http://www.eset.com
>
>
> ___
> osg-users mailing list
> osg-users@lists.openscenegraph.org
> http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org
>
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] [plugins] Osg writer add dataBasePath inPagedLod

2009-12-09 Thread Vincent Bourdier

Hi Robert,

Thanks for the answer, for the moment I don't have any piece of time to 
spend on that, so I just set

databasePath myself.

I have a last question :
If a graph, containing thousands of pagedLod nodes is loaded, but some 
pagedLod nodes can't find their
children because the file do not exist... Will the render loop be 
affected because the loader thread is trying

again and again to load theses files ?
I get a scenegraph like that, and the loading time is very very slow... 
but I know there are about 3000 files missing
(on a 30 000 files graph) but I just would have a confirmation because 
it needs a lot of time to arrange the graph to remove

the inexistent children.

Thanks for your help.

Regards,
  Vincent

Robert Osfield a écrit :

HI Vincent,

On Tue, Dec 8, 2009 at 5:56 PM, Vincent Bourdier
 wrote:
  

So, why the path is not relative ? I understand the behavior, but the path
is not a relative path so it can't work as you described it.



The child will be stored relative to the parent, and the path should
reflect this even in it's absolute form.  There is a little twist in
this in that the OSG has to cope with paged databases being pulled in
from http and then cached on the local disk, so the parents might be
loaded from the local disk, but the children haven't been downloaded
and cached yet so still sit on the http path, so you have to use the
http paths in the DatabasePath to be able to retreive them.  The
osgDB::FileCache automatically remaps http files that have been cached
so it's still is able to find them, and also their children that
aren't local.

All this functionality is there inbuilt into PagedLOD + osgDB, as is
managed automatically, while complex the intention is to hide this
complexity from users.  If you want to start digging into the the low
level side of this functionality then you'll need to accept you'll
need to learn about the ins and outs of how it all works.

Robert.
  



__ Information from ESET NOD32 Antivirus, version of virus signature 
database 4672 (20091209) __

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] [plugins] Osg writer add dataBasePath inPagedLod

2009-12-09 Thread Robert Osfield
Hi Chris,

On Tue, Dec 8, 2009 at 6:07 PM, Chris 'Xenon' Hanson
 wrote:
>  This is the reason why the osgconv recursion submission I sent it a few 
> weeks ago has to
> change working directory to the location of the sub-files before it converts 
> them.
> Otherwise, the hard-coded path gets built into the converted output file, and 
> it will no
> longer be portable.
>
>
>  I classify this as a "problem" in the PagedLOD saver (both IVE and OSG, I 
> think), but
> I'm hesitant to call it a bug, and I didn't submit a "fix" for it, because I 
> suspected
> that it was there for a reason and something I was unaware of might be 
> relying on it, so I
> just worked around it.

The osgfilecache utility is able to do the job of recursion through a
paged database without resorting to change working directory.  I would
expect this should be possible within osgconv as well.

Robert.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] [plugins] Osg writer add dataBasePath inPagedLod

2009-12-08 Thread Vincent Bourdier

Hi Chris,

I actually run across the problem by setting "./" in the databasePath... 
this way it is never overridden.


My actual problem is that I set my pagedLod graph in two passes from two 
different applications, so the second pass set the databasePath and you 
know the end of the story...


Maybe the actual implementation is not an issue, (unless the relative 
path is not a relative one) so do you have an other suggestion on how I 
can ignore the problem ?


Thanks.

Regards,
  Vincent.

Chris 'Xenon' Hanson a écrit :

Vincent Bourdier wrote:
  

As you can see, the DatabasePath appear, and the path set is to the path
where the original osg file is...  so now my PagedLod won't work on a
different PC than mine...



  I have run into this too.

  This is the reason why the osgconv recursion submission I sent it a few weeks 
ago has to
change working directory to the location of the sub-files before it converts 
them.
Otherwise, the hard-coded path gets built into the converted output file, and 
it will no
longer be portable.


  I classify this as a "problem" in the PagedLOD saver (both IVE and OSG, I 
think), but
I'm hesitant to call it a bug, and I didn't submit a "fix" for it, because I 
suspected
that it was there for a reason and something I was unaware of might be relying 
on it, so I
just worked around it.

  



__ Information from ESET NOD32 Antivirus, version of virus signature 
database 4670 (20091208) __

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] [plugins] Osg writer add dataBasePath inPagedLod

2009-12-08 Thread Chris 'Xenon' Hanson
Vincent Bourdier wrote:
> As you can see, the DatabasePath appear, and the path set is to the path
> where the original osg file is...  so now my PagedLod won't work on a
> different PC than mine...

  I have run into this too.

  This is the reason why the osgconv recursion submission I sent it a few weeks 
ago has to
change working directory to the location of the sub-files before it converts 
them.
Otherwise, the hard-coded path gets built into the converted output file, and 
it will no
longer be portable.


  I classify this as a "problem" in the PagedLOD saver (both IVE and OSG, I 
think), but
I'm hesitant to call it a bug, and I didn't submit a "fix" for it, because I 
suspected
that it was there for a reason and something I was unaware of might be relying 
on it, so I
just worked around it.

-- 
Chris 'Xenon' Hanson, omo sanza lettere  Xenon AlphaPixel.com
PixelSense Landsat processing now available! http://www.alphapixel.com/demos/
"There is no Truth. There is only Perception. To Perceive is to Exist." - Xen
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] [plugins] Osg writer add dataBasePath inPagedLod

2009-12-08 Thread Robert Osfield
Hi Vincent,

On Tue, Dec 8, 2009 at 4:58 PM, Vincent Bourdier
 wrote:
> I do not set the DatabasePager, but the PagedLod's DatabasePath.

Sorry, my mistake, I meant DatabasePath when I wrote DatabasePager.
In normal paged database usage your do not explicitly set the
DatabasePath - instead it's set by the loaders.

> The real problem is the .ive loader : it do not returns the node in the
> exact state he get it...

In the case of DatabasePath you don't want that state stored as the
database can be moved, or the user you load it from a different
relative path or even over http.  Paged database are arranged relative
to one another, so the parents database path is used to determine
where to fined the children.

Robert.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] [plugins] Osg writer add dataBasePath inPagedLod

2009-12-08 Thread Vincent Bourdier

Hi Robert,

I do not set the DatabasePager, but the PagedLod's DatabasePath.
The real problem is the .ive loader : it do not returns the node in the 
exact state he get it...


Thanks.

Regards,
  Vincent.

Robert Osfield a écrit :

Hi Vincent,

On Tue, Dec 8, 2009 at 4:43 PM, Vincent Bourdier
 wrote:
  

Ok I get it : when the Lod is wrote in an IVE file, there is not LOD
databasepath
But, on the load, the databasepath is set with the current directory where
the file is found... so next on save, the databasepath is saved...
So, the question is : is it necessary to set the databasepath on the load of
the file in the pluginIve reader ?



It shouldn't be.  The .osg and .ive loaders should all manage the
DatabasePath at runtime for you, and you shouldn't need to do anything
- it should just work out of the box.

Is there are reason why you are trying to set the DatabasePager?

Robert.
  



__ Information from ESET NOD32 Antivirus, version of virus signature 
database 4670 (20091208) __

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] [plugins] Osg writer add dataBasePath inPagedLod

2009-12-08 Thread Robert Osfield
Hi Vincent,

On Tue, Dec 8, 2009 at 4:43 PM, Vincent Bourdier
 wrote:
> Ok I get it : when the Lod is wrote in an IVE file, there is not LOD
> databasepath
> But, on the load, the databasepath is set with the current directory where
> the file is found... so next on save, the databasepath is saved...
> So, the question is : is it necessary to set the databasepath on the load of
> the file in the pluginIve reader ?

It shouldn't be.  The .osg and .ive loaders should all manage the
DatabasePath at runtime for you, and you shouldn't need to do anything
- it should just work out of the box.

Is there are reason why you are trying to set the DatabasePager?

Robert.
___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


Re: [osg-users] [plugins] Osg writer add dataBasePath inPagedLod

2009-12-08 Thread Vincent Bourdier

Hi,

Ok I get it : when the Lod is wrote in an IVE file, there is not LOD 
databasepath
But, on the load, the databasepath is set with the current directory 
where the file is found... so next on save, the databasepath is saved...
So, the question is : is it necessary to set the databasepath on the 
load of the file in the pluginIve reader ?


Thanks

Regards,
  Vincent.

Vincent Bourdier a écrit :

Hi all,

Using pagedLod, I just test an interessant thing : I load a PagedLod 
osg file like :


PagedLOD {
 nodeMask 0x
 cullingActive TRUE
 Center 0 0 0
 Radius -1
 RangeMode PIXEL_SIZE_ON_SCREEN
 RangeList 2 {
   0 1000
   1000 1e+020
 }
 NumChildrenThatCannotBeExpired 1
 FileNameList 2 {
   LV57S200502.ive
   HV57S200502.ive
 }
 num_children 0
   }

and next I wrote it in a new .osg file and I get :

PagedLOD {
 nodeMask 0x
 cullingActive TRUE
 Center 0 0 0
 Radius -1
 RangeMode PIXEL_SIZE_ON_SCREEN
 RangeList 2 {
   0 1000
   1000 1e+020
 }
 DatabasePath Z:/TEST/Total_LOD_box/s21/
 NumChildrenThatCannotBeExpired 1
 FileNameList 2 {
   LV57S200502.ive
   HV57S200502.ive
 }
 num_children 0
   }

As you can see, the DatabasePath appear, and the path set is to the 
path where the original osg file is...  so now my PagedLod won't work 
on a different PC than mine...


Is it an expected behavior ?
If I set the DatabasePath to "" or "./", will the osg writer let it in 
peace ?


Thanks.

Regards,
  Vincent.


__ Information from ESET NOD32 Antivirus, version of virus 
signature database 4670 (20091208) __


The message was checked by ESET NOD32 Antivirus.

http://www.eset.com





__ Information from ESET NOD32 Antivirus, version of virus signature 
database 4670 (20091208) __

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org


[osg-users] [plugins] Osg writer add dataBasePath inPagedLod

2009-12-08 Thread Vincent Bourdier

Hi all,

Using pagedLod, I just test an interessant thing : I load a PagedLod osg 
file like :


PagedLOD {
 nodeMask 0x
 cullingActive TRUE
 Center 0 0 0
 Radius -1
 RangeMode PIXEL_SIZE_ON_SCREEN
 RangeList 2 {
   0 1000
   1000 1e+020
 }
 NumChildrenThatCannotBeExpired 1
 FileNameList 2 {
   LV57S200502.ive
   HV57S200502.ive
 }
 num_children 0
   }

and next I wrote it in a new .osg file and I get :

PagedLOD {
 nodeMask 0x
 cullingActive TRUE
 Center 0 0 0
 Radius -1
 RangeMode PIXEL_SIZE_ON_SCREEN
 RangeList 2 {
   0 1000
   1000 1e+020
 }
 DatabasePath Z:/TEST/Total_LOD_box/s21/
 NumChildrenThatCannotBeExpired 1
 FileNameList 2 {
   LV57S200502.ive
   HV57S200502.ive
 }
 num_children 0
   }

As you can see, the DatabasePath appear, and the path set is to the path 
where the original osg file is...  so now my PagedLod won't work on a 
different PC than mine...


Is it an expected behavior ?
If I set the DatabasePath to "" or "./", will the osg writer let it in 
peace ?


Thanks.

Regards,
  Vincent.


__ Information from ESET NOD32 Antivirus, version of virus signature 
database 4670 (20091208) __

The message was checked by ESET NOD32 Antivirus.

http://www.eset.com


___
osg-users mailing list
osg-users@lists.openscenegraph.org
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org