implement grid and heightmap with lambert shading

This commit is contained in:
2018-12-24 22:22:16 +01:00
parent 4d2706bfab
commit 52c87d9ec6
16 changed files with 297 additions and 101 deletions

View File

@@ -29,6 +29,7 @@ enum class kShaderUniform : uint16_t
Noise = const_hash("noise"),
Direction = const_hash("dir"),
UseFragCoordUV2 = const_hash("fragUV2"),
LightDir = const_hash("light_dir"),
};
enum class kShader : uint16_t
@@ -52,6 +53,7 @@ enum class kShader : uint16_t
Equirect = const_hash("equirect"),
BrushStroke = const_hash("brush-stroke"),
VertexColor = const_hash("vertex-color"),
Lambert = const_hash("lambert"),
};
class Shader
@@ -63,6 +65,7 @@ public:
bool create(const char* vertex, const char* fragment);
void use();
void u_vec4(kShaderUniform id, const glm::vec4& v);
void u_vec3(kShaderUniform id, const glm::vec3& v);
void u_vec2(kShaderUniform id, const glm::vec2& v);
void u_mat4(kShaderUniform id, const glm::mat4& m);
void u_int(kShaderUniform id, int i);
@@ -80,6 +83,7 @@ public:
static void use(const char* name);
static Shader* get(kShader id);
static void u_vec4(kShaderUniform id, const glm::vec4& v);
static void u_vec3(kShaderUniform id, const glm::vec3& v);
static void u_vec2(kShaderUniform id, const glm::vec2& v);
static void u_mat4(kShaderUniform id, const glm::mat4& m);
static void u_int(kShaderUniform id, int i);