Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorClément Foucault <foucault.clem@gmail.com>2022-03-31 14:41:15 +0300
committerClément Foucault <foucault.clem@gmail.com>2022-03-31 14:48:17 +0300
commit2f7171622d784384053eb5094edaa81eb8133f0a (patch)
treeb73d5080845916f9b5ba60b7f2aa109c58300860 /source/blender/draw/intern/shaders
parentca37654b63277985a4f050772ddc412d8158a529 (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')
-rw-r--r--source/blender/draw/intern/shaders/common_hair_lib.glsl6
-rw-r--r--source/blender/draw/intern/shaders/draw_hair_refine_info.hh2
-rw-r--r--source/blender/draw/intern/shaders/draw_view_info.hh2
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)