Hello Everybody,
My question is not osg specific but I ran in a strange issue and would like
to know if anybody would know what happens:
I have developped a GPU multi draw Geometry
it that draws composite geometries in a texture until no more pixels are
drawn.(FBO render to texture)
The pseudo algorithm:
MyGeometry::drawImpl(){
bool finished=false;
while !finished()){
 finished=true;
for all compositegeometry g
{
 if(g.active){
       beginQuery
        i->drawimpl();
       endQuery
}
}
//wait for occlusion queries results
.....
for all compositegeometry g
{
        if(i->queryresult->numpixel!=0)
       finished=false;
       else g.active=false;
}
}
}

It then make a massive use of occlusion queries. approx 128 per draw call
and approx 200 draw call.
Queries Results are waited by active waiting.(          while(!ready)
ext->glGetQueryObjectiv( rqt->_id, GL_QUERY_RESULT_AVAILABLE, &ready );
Under Windows no problem it have very good performance(98ms) but under
ubuntu with latest nvidia drivers performances are awfull (3s)...
Any advice?

---------------------------
QuadCore Q8800 / ASUS p5p43td MB
Nvidia GTX275
Ubuntu Karmic Koala
_______________________________________________
osg-users mailing list
[email protected]
http://lists.openscenegraph.org/listinfo.cgi/osg-users-openscenegraph.org

Reply via email to