NormalMapMaterial.glsl 655 B

12345678910111213141516171819
  1. uniform sampler2D image;
  2. uniform float strength;
  3. uniform vec2 repeat;
  4. czm_material czm_getMaterial(czm_materialInput materialInput)
  5. {
  6. czm_material material = czm_getDefaultMaterial(materialInput);
  7. vec4 textureValue = texture2D(image, fract(repeat * materialInput.st));
  8. vec3 normalTangentSpace = textureValue.channels;
  9. normalTangentSpace.xy = normalTangentSpace.xy * 2.0 - 1.0;
  10. normalTangentSpace.z = clamp(1.0 - strength, 0.1, 1.0);
  11. normalTangentSpace = normalize(normalTangentSpace);
  12. vec3 normalEC = materialInput.tangentToEyeMatrix * normalTangentSpace;
  13. material.normal = normalEC;
  14. return material;
  15. }