48 lines
913 B
C++
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;
|
|
}
|
|
}
|