All pastes #921905 Raw Edit

Miscellany

public text v1 · immutable
#921905 ·published 2008-02-28 13:24 UTC
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);