]> git.localhorst.tv Git - blobs.git/blobdiff - src/graphics/CreatureSkin.hpp
varying material and schlick/fresnel
[blobs.git] / src / graphics / CreatureSkin.hpp
index 78cf658d3c48e8b3e4b7885bddc1732ffcae9292..1dce8b532390ad0753262a42e2d0f1cb2a7edfff 100644 (file)
@@ -3,8 +3,6 @@
 
 #include "Program.hpp"
 
-#include "glm.hpp"
-
 
 namespace blobs {
 namespace graphics {
@@ -29,8 +27,14 @@ public:
 public:
        void Activate() noexcept;
 
+       void SetM(const glm::mat4 &m) noexcept;
+       void SetV(const glm::mat4 &v) noexcept;
+       void SetVP(const glm::mat4 &v, const glm::mat4 &p) noexcept;
        void SetMVP(const glm::mat4 &m, const glm::mat4 &v, const glm::mat4 &p) noexcept;
+       void SetBaseColor(const glm::vec3 &) noexcept;
+       void SetHighlightColor(const glm::vec4 &) noexcept;
        void SetTexture(ArrayTexture &) noexcept;
+       void SetAmbient(const glm::vec3 &) noexcept;
        void SetLight(int n, const glm::vec3 &pos, const glm::vec3 &color, float strength) noexcept;
        void SetNumLights(int n) noexcept;
 
@@ -54,8 +58,11 @@ private:
        GLuint m_handle;
        GLuint mv_handle;
        GLuint mvp_handle;
-       GLuint sampler_handle;
 
+       GLuint base_color_handle;
+       GLuint highlight_color_handle;
+       GLuint sampler_handle;
+       GLuint ambient_handle;
        GLuint num_lights_handle;
        GLuint light_handle[MAX_LIGHTS * 3];