// TODO(jhuang). BUG(jhuang): this has memory issue.
void RenderableBound::setupMeshWithBound(const string& meshName, Bound& bound) {
    mMesh = MeshManager::getInstance()->getAsset(meshName);
    if (!mMesh) {
        mMesh = MeshManager::getInstance()->loadFromShape(meshName, bound);
        SubMeshList& submeshes = mMesh->getSubMeshes();
        assert(submeshes.size() == 1);
        mSubMesh = submeshes[0];
        assert(mSubMesh != NULL && mSubMesh->getNumIndices() == 36);
    } else {
        bound.updateMesh(*mMesh);
        assert(mSubMesh->getNumIndices() == 36);
    }
}