rendered paste body
... OnRegisterSceneNode ...
if (Imp.IsActive)
{
// impostor replaces the node
if (reRender && now > Imp.Time + MinTime)
{
if (!Imp.IsQueued)
{
CacheMisses++;
Imp.IsQueued = true;
SRenderQueueItem q;
q.Node = &Imp;
//q.Value = val;
RenderQueue.push_back(q);
}
else
{
//QueueHits++;
}
}
else
{
// don't re-render the impostor texture, only draw it
CacheHits++;
}
}
if (!Imp.IsActive) // || ( Imp.BufferID == -1 && Imp.IsQueued))
{
// original node is visible
n->OnRegisterSceneNode();
// cache miss
CacheMisses++;
}
}
SceneManager->registerNodeForRendering(this, ESNRP_TRANSPARENT);
}
... called by OnAnimate ...
// draw the scene
cam2->setProjectionMatrix(proj);
E_CULLING_TYPE culltype = n->getAutomaticCulling();
n->setAutomaticCulling(EAC_OFF);
n->setSceneManager(LocalManager);
n->OnRegisterSceneNode();
LocalManager->drawAll();
n->setAutomaticCulling(culltype);
n->setSceneManager(oldManager);