34 lines
635 B
C++
34 lines
635 B
C++
#ifndef PHONGMATERIAL_H
|
|
#define PHONGMATERIAL_H
|
|
|
|
#include "material.h"
|
|
#include "glm/vec3.hpp"
|
|
|
|
class Texture;
|
|
|
|
class PhongMaterial : public Material
|
|
{
|
|
public:
|
|
glm::vec3 kd;
|
|
glm::vec3 ks;
|
|
float ns;
|
|
Texture* diffuse_texture;
|
|
Texture* normal_map;
|
|
|
|
PhongMaterial() : kd(0.5f), ks(0.5f), ns(10), diffuse_texture(NULL)
|
|
{
|
|
updateShader();
|
|
}
|
|
PhongMaterial(glm::vec3 myKd, glm::vec3 myKs, float myNs) : kd(myKd), ks(myKs), ns(myNs), diffuse_texture(NULL)
|
|
{
|
|
updateShader();
|
|
}
|
|
virtual void bindAttributes();
|
|
|
|
void setTexture(Texture* myTexture);
|
|
|
|
void updateShader();
|
|
};
|
|
|
|
#endif // PHONGMATERIAL_H
|