/* 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); }
/* 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); }