Пример #1
0
/* render Objects in list */
void bucketRenderCurrentList(void)
{
	std::sort(bucketArray.begin(), bucketArray.end());

	pie_MatBegin(true);
	for (std::vector<BUCKET_TAG>::const_iterator thisTag = bucketArray.begin(); thisTag != bucketArray.end(); ++thisTag)
	{
		switch(thisTag->objectType)
		{
			case RENDER_PARTICLE:
				renderParticle((ATPART*)thisTag->pObject);
				break;
			case RENDER_EFFECT:
				renderEffect((EFFECT*)thisTag->pObject);
				break;
			case RENDER_DROID:
				renderDroid((DROID*)thisTag->pObject);
				break;
			case RENDER_SHADOW:
				renderShadow((DROID*)thisTag->pObject, getImdFromIndex(MI_SHADOW));
				break;
			case RENDER_STRUCTURE:
				renderStructure((STRUCTURE*)thisTag->pObject);
				break;
			case RENDER_FEATURE:
				renderFeature((FEATURE*)thisTag->pObject);
				break;
			case RENDER_PROXMSG:
				renderProximityMsg((PROXIMITY_DISPLAY*)thisTag->pObject);
				break;
			case RENDER_PROJECTILE:
				renderProjectile((PROJECTILE*)thisTag->pObject);
				break;
			case RENDER_ANIMATION:
				renderAnimComponent((COMPONENT_OBJECT*)thisTag->pObject);
				break;
			case RENDER_DELIVPOINT:
				renderDeliveryPoint((FLAG_POSITION*)thisTag->pObject, false);
				break;
		}
	}
	pie_MatEnd();

	//reset the bucket array as we go
	bucketArray.resize(0);
}
Пример #2
0
/* render Objects in list */
void bucketRenderCurrentList(const glm::mat4 &viewMatrix)
{
    std::sort(bucketArray.begin(), bucketArray.end());

    for (std::vector<BUCKET_TAG>::const_iterator thisTag = bucketArray.begin(); thisTag != bucketArray.end(); ++thisTag)
    {
        switch (thisTag->objectType)
        {
        case RENDER_PARTICLE:
            renderParticle((ATPART *)thisTag->pObject, viewMatrix);
            break;
        case RENDER_EFFECT:
            renderEffect((EFFECT *)thisTag->pObject, viewMatrix);
            break;
        case RENDER_DROID:
            displayComponentObject((DROID *)thisTag->pObject, viewMatrix);
            break;
        case RENDER_STRUCTURE:
            renderStructure((STRUCTURE *)thisTag->pObject, viewMatrix);
            break;
        case RENDER_FEATURE:
            renderFeature((FEATURE *)thisTag->pObject, viewMatrix);
            break;
        case RENDER_PROXMSG:
            renderProximityMsg((PROXIMITY_DISPLAY *)thisTag->pObject, viewMatrix);
            break;
        case RENDER_PROJECTILE:
            renderProjectile((PROJECTILE *)thisTag->pObject, viewMatrix);
            break;
        case RENDER_DELIVPOINT:
            renderDeliveryPoint((FLAG_POSITION *)thisTag->pObject, false, viewMatrix);
            break;
        }
    }

    //reset the bucket array as we go
    bucketArray.resize(0);
}