-
Notifications
You must be signed in to change notification settings - Fork 0
/
material.cpp
42 lines (34 loc) · 1.13 KB
/
material.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/*
* File: color.cpp
* Author: deboramorita
*
* Created on March 16, 2017, 6:25 PM
*/
#ifdef __APPLE__
#include <GLUT/glut.h>
#else
#include <GL/glut.h>
#endif
#include <algorithm>
#include "material.h"
Material::Material::Material() {
}
Material::Material::Material(const GLfloat* specular, const GLfloat* ambient, const GLfloat* diffuse, const GLfloat* shininess) {
copy(specular, specular + 4, back_inserter(this->specular));
copy(ambient, ambient + 4, back_inserter(this->ambient));
copy(diffuse, diffuse + 4, back_inserter(this->diffuse));
copy(shininess, shininess + 1, back_inserter(this->shininess));
}
Material::Material::~Material() {
}
void Material::Material::apply() {
glMaterialfv(GL_FRONT, GL_SPECULAR, this->specular.data());
glMaterialfv(GL_FRONT, GL_AMBIENT, this->ambient.data());
glMaterialfv(GL_FRONT, GL_DIFFUSE, this->diffuse.data());
glMaterialfv(GL_FRONT, GL_SHININESS, this->shininess.data());
}