Hi Tomas,

Tomas Hnilica wrote:
> Hello OpenSG users,
> 
> I have a question about rendering optimization of meshes. I know that it 
> is maybe not
> directly related to scenegraphs, but perhaps there will be some 
> extensions that deals with it.
> 
> Suppose I have a model created from tetrahedrons that are connected to 
> each other and
> make volumes. I would like to simplify such models for faster rendering 
> with preserved
> topology - I need to be able to select, pick parts of it.
> 
> I found some algorithms called "triangle mesh decimation"  (Schroeder) 
> and "progressive meshes" (Hoppe)
> that simplify the mesh - but also change it's topology (maybe optionally).
> This would be probably useful with using LOD, but for interactive work 
> (selecting,
> picking) some other structures (original ones) would have to be 
> paralelly used....is it common to use simplified
> structure for rendering and original one for other stuff?? 

It's possible to do both.

 > Are such
> algorithms implemented?

Not currently in OpenSG, no. Sorry! I've been thinking about connecting one of 
the Open Source decimators to it, but haven't gotten around to it.

> Are there any implemented, that do not change the topology?

To get high simplification you need to change topologies to close holes and 
merge separate pieces. There are

> When thinking about volumes made from tetrahedrons it is clear that 
> there is a lot of
> triangles (i think about tetrahedron like 4 triangles), that are inside 
> others (occlusion culling?),

Occlusion culling beyond the one done by the card directly (hierarchical 
z-buffer) is done on an object basis, so it will not do anything there (unless 
you have an object per triangle or tet, in which case you have serious 
performance issues anyway ;).

> many are duplicated (2 tetrahedrons connected by 1 surface - triangle), 
> etc.. Is there any
> plugin that goes through geometry and removes such triangles?

While it would be possible to write that, it will certainly be much easier to 
handle this on the main program's side. The problem is OpenSG has no 
information 
about the connectivity of the tets (it doesn't really know about tets at all), 
so to find those triangles it has to reconstruct it. The main program I assume 
has a tet-based data structure anyway, so for it it's much easier to check 
whether a tet face has a neighbour (ignore that face), or if all faces have 
neighbours (ignore the tet).

> Do you have any experience and suggestions to this topic?

Only the above: do these high-level optimizations at the higher level if you 
can. If not, let us know a little more about what you're doing, that will help 
us come up with better ideas.

Yours

        Dirk

-------------------------------------------------------------------------
Take Surveys. Earn Cash. Influence the Future of IT
Join SourceForge.net's Techsay panel and you'll get the chance to share your
opinions on IT & business topics through brief surveys-and earn cash
http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV
_______________________________________________
Opensg-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensg-users

Reply via email to