-
Notifications
You must be signed in to change notification settings - Fork 0
/
blockshader.cpp
47 lines (35 loc) · 1.17 KB
/
blockshader.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
43
44
45
46
47
#include "blockshader.hpp"
#include <iostream>
BlockShader::BlockShader() {
loadFromFiles("block");
bindAttribLocation(0, "pos");
bindAttribLocation(1, "color");
bindAttribLocation(2, "uv");
link();
m_loc_transform_mat = getUniformLocation("transform_mat");
m_loc_projection_mat = getUniformLocation("projection_mat");
m_loc_view_mat = getUniformLocation("view_mat");
m_loc_sky_color = getUniformLocation("sky_color");
m_loc_daylight = getUniformLocation("daylight");
}
/*
void BlockShader::setTransform(const Transform &transform) {
glm::mat4 trans_mat = glm::translate(glm::mat4(1.0f), transform.pos);
uniform(m_loc_transform_mat, trans_mat);
}
*/
void BlockShader::setTransform(const glm::mat4 &transform) {
uniform(m_loc_transform_mat, transform);
}
void BlockShader::setProjection(const glm::mat4 &projection) {
uniform(m_loc_projection_mat, projection);
}
void BlockShader::setView(const glm::mat4 &view) {
uniform(m_loc_view_mat, view);
}
void BlockShader::setSkyColor(const glm::vec3 &color) {
uniform(m_loc_sky_color, color);
}
void BlockShader::setDaylight(float light) {
uniform(m_loc_daylight, light);
}