[sldev] force object redraw?

Dave Parks davep at lindenlab.com
Tue Feb 5 10:54:33 PST 2008


There is apparently still some positive action that I must take to 
remove geometry that has already been rendered.

If rebuildGeom is called on the spatial group of a particular prim and 
that prim's faces are not added to a LLDrawInfo for rendering, that prim 
won't be drawn.  rebuildGeom is called on every visible spatial group 
that's flagged as GEOM_DIRTY.  I'm not sure where the disconnect is 
here, but that's the way it works. 

You're grasping at straws with all this "unrealistic priority" stuff.  
That's not the way real-time rendering works.  Every object you see is 
getting drawn every frame, but the information used to draw it is 
updated only occasionally in rebuildGeom.  The occasional rebuild you're 
seeing is more indicative of some scripted object that periodically 
changes color or texture, or something that moves and stops repeatedly.

Maybe you're only calling dirtyGeom for the root prim?  Every prim is 
treated as its own object by the renderer (one instance of 
LLViewerObject and LLDrawable per prim), so this concept of a 
"lighthouse" is less than useful.  See if you can get it to work with a 
single prim, then link two prims together and try to get it to work 
then.  Make on of the prims transparent and see if it still works.  
There is an info display that shows the spatial groups and highlights 
calls to rebuildGeom (client->render->info display->octree).


More information about the SLDev mailing list