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:
authorKévin Dietrich <kevin.dietrich@mailoo.org>2022-05-04 15:33:13 +0300
committerKévin Dietrich <kevin.dietrich@mailoo.org>2022-05-04 15:33:13 +0300
commitdc1793e85b2cfcff4b6cb073ee5f56cca3f38eeb (patch)
treecfd613d7a722588fd4d90cd52f7554e97f584655 /source/blender/gpu
parent5162135e147074e034449c484eac59e568ef8051 (diff)
parentd86d7c935ef3d44890fa71256c9045688fb3044a (diff)
Merge remote-tracking branch 'origin/blender-v3.2-release'
Diffstat (limited to 'source/blender/gpu')
-rw-r--r--source/blender/gpu/shaders/material/gpu_shader_material_bump.glsl7
-rw-r--r--source/blender/gpu/shaders/material/gpu_shader_material_texture_coordinates.glsl4
2 files changed, 9 insertions, 2 deletions
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_bump.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_bump.glsl
index e0931128485..d7c50e213e5 100644
--- a/source/blender/gpu/shaders/material/gpu_shader_material_bump.glsl
+++ b/source/blender/gpu/shaders/material/gpu_shader_material_bump.glsl
@@ -5,6 +5,13 @@ void differentiate_texco(vec3 v, out vec3 df)
df = v + dF_impl(v);
}
+/* Overload for UVs which are loaded as generic attributes. */
+void differentiate_texco(vec4 v, out vec3 df)
+{
+ /* Implementation defined. */
+ df = v.xyz + dF_impl(v.xyz);
+}
+
void node_bump(
float strength, float dist, float height, vec3 N, vec2 dHd, float invert, out vec3 result)
{
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_texture_coordinates.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_texture_coordinates.glsl
index a3666164cf7..204f134dfa6 100644
--- a/source/blender/gpu/shaders/material/gpu_shader_material_texture_coordinates.glsl
+++ b/source/blender/gpu/shaders/material/gpu_shader_material_texture_coordinates.glsl
@@ -1,7 +1,7 @@
void node_tex_coord(mat4 obmatinv,
vec3 attr_orco,
- vec3 attr_uv,
+ vec4 attr_uv,
out vec3 generated,
out vec3 normal,
out vec3 uv,
@@ -12,7 +12,7 @@ void node_tex_coord(mat4 obmatinv,
{
generated = attr_orco;
normal = normal_world_to_object(g_data.N);
- uv = attr_uv;
+ uv = attr_uv.xyz;
object = transform_point((obmatinv[3][3] == 0.0) ? ModelMatrixInverse : obmatinv, g_data.P);
camera = coordinate_camera(g_data.P);
window = coordinate_screen(g_data.P);