SparrowRenderer/material.h

29 lines
491 B
C++

#ifndef MATERIAL_H
#define MATERIAL_H
#include "shader.h"
#include "glm/fwd.hpp"
enum {
// Geometry Flags
NORMAL_MAP = 1 << 0,
DIFFUSE_TEXTURE = 1 << 1,
SPECULAR_TEXTURE = 1 << 2,
ALPHA_MASK = 1 << 3,
};
class Material
{
public:
Material(Shader* myShader = NULL) : shader(myShader) {}
Shader* getShader() {return shader;}
virtual void bindAttributes() = 0;
virtual unsigned int getFlags() = 0;
protected:
Shader* shader;
};
#endif // MATERIAL_H