[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