diff options
author | RĂ©mi Verschelde <remi@verschelde.fr> | 2021-02-12 09:26:14 +0100 |
---|---|---|
committer | GitHub <noreply@github.com> | 2021-02-12 09:26:14 +0100 |
commit | e9a25b8552150393db9632fff23c0f60403b987a (patch) | |
tree | 773fe610c2cea32bc8920018b2f6057f5a6f0af2 | |
parent | e5bb89cdd5e92fa6fdeff78aad08bf0cbfbcc692 (diff) | |
parent | ca945421a0a228dd04c722eae127987f06d33693 (diff) |
Merge pull request #45859 from Kayomn/master
Accomodate blend shape ranges of -1 to +1 for Vulkan
-rw-r--r-- | scene/3d/mesh_instance_3d.cpp | 2 | ||||
-rw-r--r-- | servers/rendering/renderer_rd/shaders/skeleton.glsl | 2 |
2 files changed, 2 insertions, 2 deletions
diff --git a/scene/3d/mesh_instance_3d.cpp b/scene/3d/mesh_instance_3d.cpp index 775757dc9f..7b3a0820f1 100644 --- a/scene/3d/mesh_instance_3d.cpp +++ b/scene/3d/mesh_instance_3d.cpp @@ -95,7 +95,7 @@ void MeshInstance3D::_get_property_list(List<PropertyInfo> *p_list) const { ls.sort(); for (List<String>::Element *E = ls.front(); E; E = E->next()) { - p_list->push_back(PropertyInfo(Variant::FLOAT, E->get(), PROPERTY_HINT_RANGE, "0,1,0.00001")); + p_list->push_back(PropertyInfo(Variant::FLOAT, E->get(), PROPERTY_HINT_RANGE, "-1,1,0.00001")); } if (mesh.is_valid()) { diff --git a/servers/rendering/renderer_rd/shaders/skeleton.glsl b/servers/rendering/renderer_rd/shaders/skeleton.glsl index b19f5a9ad3..d675e548d7 100644 --- a/servers/rendering/renderer_rd/shaders/skeleton.glsl +++ b/servers/rendering/renderer_rd/shaders/skeleton.glsl @@ -100,7 +100,7 @@ void main() { for (uint i = 0; i < params.blend_shape_count; i++) { float w = blend_shape_weights.data[i]; - if (w > 0.0001) { + if ((w < 0.0001) || (w > 0.0001)) { uint base_offset = (params.vertex_count * i + index) * params.vertex_stride; blend_vertex += uintBitsToFloat(uvec3(src_blend_shapes.data[base_offset + 0], src_blend_shapes.data[base_offset + 1], src_blend_shapes.data[base_offset + 2])) * w; |