#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