Hi J-S,

2008/11/4 Jean-Sébastien Guay <[EMAIL PROTECTED]>

> Hello Wang Rui,


> Very interesting! There was discussion a while ago about implementing
> something like that for OSG, good to see it get done at last!
>
> Some quick questions (I have not checked the code, I'm just curious):
>
> How are the parametric curves/surfaces rendered? Are they rendered by GLU
> evaluators? Are they tessellated once at a given detail level (based on
> curvature I would think)? Or are they kept entirely parametric and rendered
> with geometry shaders? Or even, are multiple rendering techniques available
> and can the user switch at any time?


They are tessellated at a given detail level, that is, they are all derived
from osg::Geometry and can be regard as geometries. I know it is more
efficient to use geometry shaders, but maybe it is more easier to save and
modify data from vertices arrays, and make the library suitable for some low
level grpahics systems.


>
> If the rendering is done by tessellating the curves/surfaces, does it
> generate triangle/quad strips for efficiency? Does it generate sensible
> texture coordinates? (from the Earth picture I would guess yes, but just
> asking :-) )
>

It geneates quad strips in most occasions, and generates texture coordinates
automatically. But it is hard to decide texcoords for all kinds of models,
so the generated coords may not be appropriate sometime.


>
> Is it possible to change the detail level based on distance to camera
> (automatic LOD)? Is it possible to change the detail level on demand (to a
> fixed detail level)?
>

The detail level is easy to alter, because every model class has a
'segments' or 'number on path' property. I haven't thought of automatic LOD
at this time, but I will try to implement it later.


>
> How is the performance? For example, for your teapot, compared to a
> polygonal teapot containing the same number of triangles as the tessellated
> teapot surface, is there a performance difference?


This teapot is created by many Bezier surfaces. So its performance is
alterable. And it's easy to generated teapots with different number of
triangles for LOD uses.


>
> Does the library have a plugin to support loading curves/surfaces from an
> osg file?


I'm just considering to write a plugin to read curve/surface data file. Do
you know any format that supports parametric curves/surfaces? Does .osg
format support them?


>
> Thanks for your work, it's an interesting library!


Thanks for your advices, too. The library has a long way to go. I will try
my best. :)

Regards,
Wang Rui
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to