42 lines
1.1 KiB
C
42 lines
1.1 KiB
C
![]() |
#include <cmath>
|
||
|
#include <iostream>
|
||
|
#include <GL/glew.h>
|
||
|
#include <GLFW/glfw3.h>
|
||
|
#include <glm/glm.hpp>
|
||
|
#include <glm/gtc/type_ptr.hpp>
|
||
|
|
||
|
#include "GLSL.h"
|
||
|
#include "Camera.h"
|
||
|
#include "Shape.h"
|
||
|
#include "MatrixStack.h"
|
||
|
|
||
|
class Material
|
||
|
{
|
||
|
private:
|
||
|
glm::vec3 ca;
|
||
|
glm::vec3 cd;
|
||
|
glm::vec3 cs;
|
||
|
float shine;
|
||
|
|
||
|
public:
|
||
|
Material();
|
||
|
Material(const Material &m)
|
||
|
{
|
||
|
ca = m.ca;
|
||
|
cd = m.cd;
|
||
|
cs = m.cs;
|
||
|
}
|
||
|
Material(glm::vec3 a, glm::vec3 d, glm::vec3 s, float sh)
|
||
|
{
|
||
|
ca = a;
|
||
|
cd = d;
|
||
|
cs = s;
|
||
|
shine = sh;
|
||
|
}
|
||
|
void setMaterial(glm::vec3 a, glm::vec3 d, glm::vec3 s, float sh);
|
||
|
glm::vec3 getAmbient();
|
||
|
glm::vec3 getDiffuse();
|
||
|
glm::vec3 getSpecular();
|
||
|
float getShiny();
|
||
|
};
|