SparrowRenderer/skyboxmaterial.cpp

48 lines
913 B
C++

#include "skyboxmaterial.h"
#include "texture.h"
void SkyBoxMaterial::bindAttributes()
{
for(int i=0; i<NB_TEXTURES; ++i)
{
if(skyboxTex[i] != NULL)
{
skyboxTex[i]->bind(i);
shader->bindTexture(shader->getLocation("skybox_" + getDirName((DirEnum)i)), i);
}
}
}
void SkyBoxMaterial::setTexture(Texture* myTexture, DirEnum direction)
{
skyboxTex[direction] = myTexture;
}
std::string SkyBoxMaterial::getDirName(DirEnum direction)
{
switch(direction)
{
case TOP:
return "top";
break;
case BOTTOM:
return "bottom";
break;
case LEFT:
return "left";
break;
case RIGHT:
return "right";
break;
case FRONT:
return "front";
break;
case BACK:
return "back";
break;
default:
return "undefined";
break;
}
}