[sldev] force object redraw?

Anna Gulaev annagulaev at gmail.com
Tue Feb 5 01:23:11 PST 2008


On 2/4/08, Dave Parks wrote:
>
> If "registerFace" is called and does nothing, then there is no way for
> the object to be drawn.


As I said, these are objects that were previously drawn. Perhaps instead of
looking for a way to not draw them I should be looking for a way to un-draw
them?

- markRebuild puts the object into LLPipeline's build queue
> - LLPipeline calls updateGeom on objects in the queue, time slicing for
> non priority updates
> - In the latest windlight build, an object's updateGeom must explicitly
> request a spatial group render batch rebuild by calling
> LLSpatialGroup::dirtyGeom


I'm not using the latest windlight build, but I tried this, anyway. Took the
code right out of the windlight viewer. At first I made it conditional on my
needs-to-be-invisible condition, and seeing no effect I just made it
unconditional. Confirmed with the debugger that it's being called. No
change. Dirtying the geometry does not result in an immediate redraw.

- Visible spatial groups are determined in updateCull
> - LLSpatialGroup::rebuildGeom is called from LLPipeline::postSort
> - in LLVOVolumePartition::rebuildGeom, render batches (instances of
> LLDrawInfo) are built and registerFace is called for every face added to
> a batch
> - Pigs fly
> - render batches are sorted by texture/matrix/distance


Maybe selected geometry has priority? I can look at that, but I'm not
hopeful. There are objects on my screen that should be invisible that don't
disappear *ever* until I select them.

- LLPipeline::renderGeom runs through the drawpools and render passes
> which issue drawing calls.


Would you mind if I added this to the currently-blank description of the
pipeline in the wiki?

Thanks,
Anna
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.secondlife.com/pipermail/sldev/attachments/20080205/b1ae8ca2/attachment.htm


More information about the SLDev mailing list