<div dir="ltr"><div><div><div><div><div>Hi John,<br><br></div>LOD (Level Of Detail) is all about providing multiple versions each with different resolution of geometry and/or texture data so that lower resolution versions are used at far distances and higher resolution versions are used at a nearer distance.  LOD's can also be used in conjunction with a quad tree hierarchy where the low resolution version covers the area of four geographically smaller tiles.  This quad tree hierarchy can be go as deep as you want, especially when used with PagedLOD's rather than LOD's.<br><br></div>However, from your description you aren't talking about this multi-resoliution management, but simply a quad tree layout that has no actual need for LOD's.  This leaves me a mixture confused about your intent or unsure about your level of understanding of basic scene graph concepts. <br><br></div>The way to do a quad tree to enable early culling is to create a hierarchy of osg::Group nodes that each have four children, nesting down the levels till you get to the leaf nodes containing the actual geometry and textures required.<br><br></div>Using a quad tree without LOD's would be fine for an application that only ever views a relatively fixed number of tiles at one time such as map view from a fixed height.  For general 3D rendering such a quad tree hierachy of a big dataset would lead to performance problems as distant views or views looking out to the horizon would have so many tiles to render that the system would be overloaded.  In this situations LOD's are essential to load balance.  From really large dataset PageLOD's become essentially to allow you to scale to very large ranges and resolutions - the OSG is used with whole earth visualization systems that have data down to sub m resolution with ten's of terrabytes of data, all working at solid 60Hz.<br><br></div>Robert.<br><div><div><div><br><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On 10 September 2015 at 18:17, John Peterson <span dir="ltr"><<a href="mailto:halalkitty@gmail.com" target="_blank">halalkitty@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Thank you for your reply, Robert.<br>
<br>
You mentioned PagedLOD nodes. While I might not use the paged version of the LODs nodes just yet, I've been thinking a lot about whether LOD nodes are the way to go in order to get OSG to cull large portions of my terrain without having to traverse and render every single grid square in the world. I'd be interested to know if the following technique might succeed for my use case, which I could later extend to PagedLOD nodes as I increase the area of my terrain.<br>
<br>
For the purposes of this very simple example, imagine a 4x4 grid where each one of the 16 grid squares represents a 5000 m^2 area of terrain. I should have been clear in my original post and mentioned that the grid squares are literally that--four vertices to render a pair of triangles. (In other words, it's not a particular complicated terrain from a geometric standpoint.) I'm wondering if I could use LOD nodes hierarchically in order to partition the scene in such a way that OSG will simply discard entire quadrants that are too far away from the viewer. To illustrate more clearly the scene graph I envision (excuse the ASCII art):<br>
<br>
<br>
Code:<br>
root<br>
  LOD<br>
    LOD<br>
      geometry for square at (0,0)<br>
    LOD<br>
      geometry for square at (1,0)<br>
    LOD<br>
      geometry for square at (0,1)<br>
    LOD<br>
      geometry for square at (1,1)<br>
  LOD<br>
    LOD<br>
      geometry for square at (2,0)<br>
    LOD<br>
      geometry for square at (3,0)<br>
    LOD<br>
      geometry for square at (2,1)<br>
    LOD<br>
      geometry for square at (3,1)<br>
  LOD<br>
    LOD<br>
      geometry for square at (0,2)<br>
    LOD<br>
      geometry for square at (1,2)<br>
    LOD<br>
      geometry for square at (0,3)<br>
    LOD<br>
      geometry for square at (1,3)<br>
  LOD<br>
    LOD<br>
      geometry for square at (2,2)<br>
    LOD<br>
      geometry for square at (3,2)<br>
    LOD<br>
      geometry for square at (2,3)<br>
    LOD<br>
      geometry for square at (3,3)<br>
<br>
<br>
<br>
Of course, I'd have to carefully choose the LOD min and max values to ensure that I'm neither discarding too much of the scene graph nor including more than I actually need.<br>
<br>
My question is, is this technique reasonable and scalable? Are there any pitfalls that I need to watch for, or any red flags that it raises?<br>
<span class=""><br>
Best regards,<br>
John<br>
<br>
------------------<br>
Read this topic online here:<br>
</span><a href="http://forum.openscenegraph.org/viewtopic.php?p=65101#65101" rel="noreferrer" target="_blank">http://forum.openscenegraph.org/viewtopic.php?p=65101#65101</a><br>
<div class="HOEnZb"><div class="h5"><br>
<br>
<br>
<br>
<br>
_______________________________________________<br>
osg-users mailing list<br>
<a href="mailto:osg-users@lists.openscenegraph.org">osg-users@lists.openscenegraph.org</a><br>
<a href="http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org" rel="noreferrer" target="_blank">http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org</a><br>
</div></div></blockquote></div><br></div>