You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
20 lines
655 B
GLSL
20 lines
655 B
GLSL
uniform sampler2D image;
|
|
uniform float strength;
|
|
uniform vec2 repeat;
|
|
|
|
czm_material czm_getMaterial(czm_materialInput materialInput)
|
|
{
|
|
czm_material material = czm_getDefaultMaterial(materialInput);
|
|
|
|
vec4 textureValue = texture2D(image, fract(repeat * materialInput.st));
|
|
vec3 normalTangentSpace = textureValue.channels;
|
|
normalTangentSpace.xy = normalTangentSpace.xy * 2.0 - 1.0;
|
|
normalTangentSpace.z = clamp(1.0 - strength, 0.1, 1.0);
|
|
normalTangentSpace = normalize(normalTangentSpace);
|
|
vec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;
|
|
|
|
material.normal = normalEC;
|
|
|
|
return material;
|
|
}
|