diff options
Diffstat (limited to 'source/blender/gpu/shaders/material/gpu_shader_material_displacement.glsl')
-rw-r--r-- | source/blender/gpu/shaders/material/gpu_shader_material_displacement.glsl | 12 |
1 files changed, 12 insertions, 0 deletions
diff --git a/source/blender/gpu/shaders/material/gpu_shader_material_displacement.glsl b/source/blender/gpu/shaders/material/gpu_shader_material_displacement.glsl new file mode 100644 index 00000000000..0838b5c8b71 --- /dev/null +++ b/source/blender/gpu/shaders/material/gpu_shader_material_displacement.glsl @@ -0,0 +1,12 @@ +void node_displacement_object( + float height, float midlevel, float scale, vec3 N, mat4 obmat, out vec3 result) +{ + N = (vec4(N, 0.0) * obmat).xyz; + result = (height - midlevel) * scale * normalize(N); + result = (obmat * vec4(result, 0.0)).xyz; +} + +void node_displacement_world(float height, float midlevel, float scale, vec3 N, out vec3 result) +{ + result = (height - midlevel) * scale * normalize(N); +} |