From 261ac97a31ddaca22bf66a7ecab50eec45cddfeb Mon Sep 17 00:00:00 2001 From: Mikulas Florek Date: Fri, 5 Jul 2019 21:01:22 +0200 Subject: [PATCH] fixed skinned models --- data/pipelines/standard.shd | 2 +- src/renderer/shader.cpp | 4 ++-- src/renderer/terrain.cpp | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/data/pipelines/standard.shd b/data/pipelines/standard.shd index 25573de0f..6a9bb734a 100644 --- a/data/pipelines/standard.shd +++ b/data/pipelines/standard.shd @@ -45,7 +45,7 @@ vertex_shader [[ #elif defined SKINNED layout(location = 4) in vec4 a_indices; layout(location = 5) in vec4 a_weights; - layout(std140) uniform Bones { + layout(std140, binding = 2) uniform Bones { mat4 u_bones[256]; }; #elif defined INSTANCED diff --git a/src/renderer/shader.cpp b/src/renderer/shader.cpp index 77f6aeede..ac04eba23 100644 --- a/src/renderer/shader.cpp +++ b/src/renderer/shader.cpp @@ -48,7 +48,7 @@ const Shader::Program& Shader::getProgram(ShaderRenderData* rd, u32 defines) PROFILE_BLOCK("compile_shader"); static const char* shader_code_prefix = R"#(#version 440 - layout (std140) uniform GlobalState { + layout (std140, binding = 0) uniform GlobalState { mat4 u_shadow_view_projection; mat4 u_shadowmap_matrices[4]; mat4 u_camera_projection; @@ -64,7 +64,7 @@ const Shader::Program& Shader::getProgram(ShaderRenderData* rd, u32 defines) float u_time; ivec2 u_framebuffer_size; }; - layout (std140) uniform PassState { + layout (std140, binding = 1) uniform PassState { mat4 u_pass_projection; mat4 u_pass_inv_projection; mat4 u_pass_view; diff --git a/src/renderer/terrain.cpp b/src/renderer/terrain.cpp index 43b75fab7..b9f9a9e15 100644 --- a/src/renderer/terrain.cpp +++ b/src/renderer/terrain.cpp @@ -625,7 +625,7 @@ RayCastModelHit Terrain::castRay(const DVec3& origin, const Vec3& dir) hit.t = t; return hit; } - if (next_x < next_z) { + if (next_x < next_z && step_x != 0) { next_x += delta_x; hx += step_x; }