diff options
author | Clément Foucault <foucault.clem@gmail.com> | 2018-08-01 20:37:18 +0300 |
---|---|---|
committer | Clément Foucault <foucault.clem@gmail.com> | 2018-08-01 23:08:36 +0300 |
commit | e8dd5e5cc6b7366c36f19035f94864a1b320cb83 (patch) | |
tree | 9d8eb3e799872aaccc69883c0b0a7b49e4cacafc /source/blender/gpu/shaders | |
parent | ad64cb63448d69ec1667bfa2e4941dfb996841dd (diff) |
GPUMaterial: Make Mapping node use UBO storage
This means tweaking parameter is now interactive and does not need to
recompile the shaders.
Diffstat (limited to 'source/blender/gpu/shaders')
-rw-r--r-- | source/blender/gpu/shaders/gpu_shader_material.glsl | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/source/blender/gpu/shaders/gpu_shader_material.glsl b/source/blender/gpu/shaders/gpu_shader_material.glsl index 8cc603696df..064ee42907e 100644 --- a/source/blender/gpu/shaders/gpu_shader_material.glsl +++ b/source/blender/gpu/shaders/gpu_shader_material.glsl @@ -238,13 +238,11 @@ void point_map_to_tube(vec3 vin, out vec3 vout) vout = vec3(u, v, 0.0); } -void mapping(vec3 vec, mat4 mat, vec3 minvec, vec3 maxvec, float domin, float domax, out vec3 outvec) +void mapping(vec3 vec, vec4 m0, vec4 m1, vec4 m2, vec4 m3, vec3 minvec, vec3 maxvec, out vec3 outvec) { + mat4 mat = mat4(m0, m1, m2, m3); outvec = (mat * vec4(vec, 1.0)).xyz; - if (domin == 1.0) - outvec = max(outvec, minvec); - if (domax == 1.0) - outvec = min(outvec, maxvec); + outvec = clamp(outvec, minvec, maxvec); } void camera(vec3 co, out vec3 outview, out float outdepth, out float outdist) |