Start work on lighting

This commit is contained in:
Dane Johnson
2021-01-21 15:26:39 -06:00
parent 43996eb2e6
commit 8fb29d389a
24 changed files with 203 additions and 14 deletions

View File

@@ -72,6 +72,18 @@ void Shader::UpdateTex(bool usesTex, Texture tex) {
void Shader::UpdateAlphaScissor(cfloat alphaScissor) {
glUniform1f(glGetUniformLocation(id, "material.alphaScissor"), alphaScissor);
}
void Shader::UpdateUnshaded(bool unshaded) {
glUniform1i(glGetUniformLocation(id, "material.unshaded"), (int) unshaded);
}
void Shader::UpdateDirectionalLight(DirectionalLight directionalLight) {
glUniform3fv(glGetUniformLocation(id, "directionalLight.direction"), 1, glm::value_ptr(directionalLight.direction));
glUniform3fv(glGetUniformLocation(id, "directionalLight.color"), 1, glm::value_ptr(directionalLight.color));
glUniform1f(glGetUniformLocation(id, "directionalLight.ambient"), directionalLight.ambient);
glUniform1f(glGetUniformLocation(id, "directionalLight.diffuse"), directionalLight.diffuse);
glUniform1f(glGetUniformLocation(id, "directionalLight.specular"), directionalLight.specular);
}
Name Shader::GetName() const {
return "Unnamed Shader";

View File

@@ -5,6 +5,7 @@
#include "types.h"
#include "Material.h"
#include "Light.h"
class Shader {
public:
@@ -20,6 +21,9 @@ public:
void UpdateTex(bool usesTex);
void UpdateTex(bool usesTex, Texture tex);
void UpdateAlphaScissor(cfloat alphaScissor);
void UpdateUnshaded(bool unshaded);
void UpdateDirectionalLight(DirectionalLight directionalLight);
virtual Name GetName() const;
};