AllMaterialAppearanceFS.glsl 874 B

1234567891011121314151617181920212223242526272829
  1. in vec3 v_positionEC;
  2. in vec3 v_normalEC;
  3. in vec3 v_tangentEC;
  4. in vec3 v_bitangentEC;
  5. in vec2 v_st;
  6. void main()
  7. {
  8. vec3 positionToEyeEC = -v_positionEC;
  9. mat3 tangentToEyeMatrix = czm_tangentToEyeSpaceMatrix(v_normalEC, v_tangentEC, v_bitangentEC);
  10. vec3 normalEC = normalize(v_normalEC);
  11. #ifdef FACE_FORWARD
  12. normalEC = faceforward(normalEC, vec3(0.0, 0.0, 1.0), -normalEC);
  13. #endif
  14. czm_materialInput materialInput;
  15. materialInput.normalEC = normalEC;
  16. materialInput.tangentToEyeMatrix = tangentToEyeMatrix;
  17. materialInput.positionToEyeEC = positionToEyeEC;
  18. materialInput.st = v_st;
  19. czm_material material = czm_getMaterial(materialInput);
  20. #ifdef FLAT
  21. out_FragColor = vec4(material.diffuse + material.emission, material.alpha);
  22. #else
  23. out_FragColor = czm_phong(normalize(positionToEyeEC), material, czm_lightDirectionEC);
  24. #endif
  25. }