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

gpu_shader_material_vector_displacement.glsl « material « shaders « gpu « blender « source - git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
blob: 0ff074bc04f1f3222e26fbcf02540bc21948fb88 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
void node_vector_displacement_tangent(
    vec4 vector, float midlevel, float scale, vec4 T, out vec3 result)
{
  vec3 oN = normalize(normal_world_to_object(g_data.N));
  vec3 oT = normalize(normal_world_to_object(T.xyz));
  vec3 oB = T.w * normalize(cross(oN, oT));

  result = (vector.xyz - midlevel) * scale;
  result = result.x * oT + result.y * oN + result.z * oB;
  result = transform_point(ModelMatrix, result);
}

void node_vector_displacement_object(vec4 vector, float midlevel, float scale, out vec3 result)
{
  result = (vector.xyz - midlevel) * scale;
  result = transform_point(ModelMatrix, result);
}

void node_vector_displacement_world(vec4 vector, float midlevel, float scale, out vec3 result)
{
  result = (vector.xyz - midlevel) * scale;
}