mirror of
https://gitlab.com/OpenMW/openmw.git
synced 2025-01-03 17:37:18 +00:00
4a96885323
Move tangent space generation to the vertex shaders Support diffuse parallax when no normal map is present Don't use diffuse parallax if there's no diffuse map Generalize normal-to-view conversion Rewrite parallax
15 lines
418 B
GLSL
15 lines
418 B
GLSL
varying mat3 normalToViewMatrix;
|
|
|
|
mat3 generateTangentSpace(vec4 tangent, vec3 normal)
|
|
{
|
|
vec3 normalizedNormal = normalize(normal);
|
|
vec3 normalizedTangent = normalize(tangent.xyz);
|
|
vec3 binormal = cross(normalizedTangent, normalizedNormal) * tangent.w;
|
|
return mat3(normalizedTangent, binormal, normalizedNormal);
|
|
}
|
|
|
|
vec3 normalToView(vec3 normal)
|
|
{
|
|
return normalize(normalToViewMatrix * normal);
|
|
}
|