SparrowRenderer/material.h

40 lines
717 B
C++

#ifndef MATERIAL_H
#define MATERIAL_H
enum {
// Geometry Flags
NORMAL_MAP,
AMBIENT_TEXTURE,
DIFFUSE_TEXTURE,
SPECULAR_TEXTURE,
ALPHA_MASK,
NB_FLAGS
};
enum {
// Geometry Flags
NORMAL_MAP_FLAG = 1 << NORMAL_MAP,
AMBIENT_TEXTURE_FLAG = 1 << AMBIENT_TEXTURE,
DIFFUSE_TEXTURE_FLAG = 1 << DIFFUSE_TEXTURE,
SPECULAR_TEXTURE_FLAG = 1 << SPECULAR_TEXTURE,
ALPHA_MASK_FLAG = 1 << ALPHA_MASK,
};
class Shader;
class Material
{
public:
/**
* deprecated, you should use bindAttributes(Shader*) instead
*/
virtual void bindAttributes() = 0;
virtual void bindAttributes(Shader*) = 0;
virtual unsigned int getFlags() = 0;
};
#endif // MATERIAL_H