diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2022-03-31 14:41:15 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2022-03-31 14:48:17 +0300 |
commit | 2f7171622d784384053eb5094edaa81eb8133f0a (patch) | |
tree | b73d5080845916f9b5ba60b7f2aa109c58300860 /source/blender/draw/intern/shaders | |
parent | ca37654b63277985a4f050772ddc412d8158a529 (diff) |
DRW: Rename DRW_shgroup_uniform_vec4_array_copy to mat4_copy
This function was not used for anything other than mat4. This
was because of a limitation of the DRW module/
This makes it cleaner for the GLSL and also less tempting to use
it for other unconventional purpose.
Diffstat (limited to 'source/blender/draw/intern/shaders')
3 files changed, 4 insertions, 6 deletions
diff --git a/source/blender/draw/intern/shaders/common_hair_lib.glsl b/source/blender/draw/intern/shaders/common_hair_lib.glsl index 7f94b7ea1c1..6a8f1132e1b 100644 --- a/source/blender/draw/intern/shaders/common_hair_lib.glsl +++ b/source/blender/draw/intern/shaders/common_hair_lib.glsl @@ -29,7 +29,7 @@ uniform float hairRadTip = 0.0; uniform float hairRadShape = 0.5; uniform bool hairCloseTip = true; -uniform vec4 hairDupliMatrix[4]; +uniform mat4 hairDupliMatrix; /* Strand batch offset when used in compute shaders. */ uniform int hairStrandOffset = 0; @@ -192,9 +192,7 @@ void hair_get_pos_tan_binor_time(bool is_persp, wtan = wpos - texelFetch(hairPointBuffer, id - 1).point_position; } - mat4 obmat = mat4( - hairDupliMatrix[0], hairDupliMatrix[1], hairDupliMatrix[2], hairDupliMatrix[3]); - + mat4 obmat = hairDupliMatrix; wpos = (obmat * vec4(wpos, 1.0)).xyz; wtan = -normalize(mat3(obmat) * wtan); diff --git a/source/blender/draw/intern/shaders/draw_hair_refine_info.hh b/source/blender/draw/intern/shaders/draw_hair_refine_info.hh index 16766ffee18..b80537f9deb 100644 --- a/source/blender/draw/intern/shaders/draw_hair_refine_info.hh +++ b/source/blender/draw/intern/shaders/draw_hair_refine_info.hh @@ -13,7 +13,7 @@ GPU_SHADER_CREATE_INFO(draw_hair_refine_compute) .sampler(0, ImageType::FLOAT_BUFFER, "hairPointBuffer") .sampler(1, ImageType::UINT_BUFFER, "hairStrandBuffer") .sampler(2, ImageType::UINT_BUFFER, "hairStrandSegBuffer") - .push_constant(Type::VEC4, "hairDupliMatrix", 4) + .push_constant(Type::MAT4, "hairDupliMatrix") .push_constant(Type::BOOL, "hairCloseTip") .push_constant(Type::FLOAT, "hairRadShape") .push_constant(Type::FLOAT, "hairRadTip") diff --git a/source/blender/draw/intern/shaders/draw_view_info.hh b/source/blender/draw/intern/shaders/draw_view_info.hh index a12f2e25f29..7329f2ed677 100644 --- a/source/blender/draw/intern/shaders/draw_view_info.hh +++ b/source/blender/draw/intern/shaders/draw_view_info.hh @@ -102,7 +102,7 @@ GPU_SHADER_CREATE_INFO(draw_hair) .push_constant(Type::FLOAT, "hairRadShape") .push_constant(Type::BOOL, "hairCloseTip") .push_constant(Type::INT, "hairStrandOffset") - .push_constant(Type::VEC4, "hairDupliMatrix", 4) + .push_constant(Type::MAT4, "hairDupliMatrix") .additional_info("draw_modelmat", "draw_resource_id"); GPU_SHADER_CREATE_INFO(draw_pointcloud) |