ModelFS.js 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091
  1. //This file is automatically rebuilt by the Cesium build process.
  2. export default "#if defined(HAS_NORMALS) && !defined(HAS_TANGENTS) && !defined(LIGHTING_UNLIT)\n\
  3. #ifdef GL_OES_standard_derivatives\n\
  4. #extension GL_OES_standard_derivatives : enable\n\
  5. #endif\n\
  6. #endif\n\
  7. \n\
  8. czm_modelMaterial defaultModelMaterial()\n\
  9. {\n\
  10. czm_modelMaterial material;\n\
  11. material.diffuse = vec3(0.0);\n\
  12. material.specular = vec3(1.0);\n\
  13. material.roughness = 1.0;\n\
  14. material.occlusion = 1.0;\n\
  15. material.normalEC = vec3(0.0, 0.0, 1.0);\n\
  16. material.emissive = vec3(0.0);\n\
  17. material.alpha = 1.0;\n\
  18. return material;\n\
  19. }\n\
  20. \n\
  21. vec4 handleAlpha(vec3 color, float alpha)\n\
  22. {\n\
  23. #ifdef ALPHA_MODE_MASK\n\
  24. if (alpha < u_alphaCutoff) {\n\
  25. discard;\n\
  26. }\n\
  27. #endif\n\
  28. \n\
  29. return vec4(color, alpha);\n\
  30. }\n\
  31. \n\
  32. SelectedFeature selectedFeature;\n\
  33. \n\
  34. void main()\n\
  35. {\n\
  36. #ifdef HAS_MODEL_SPLITTER\n\
  37. modelSplitterStage();\n\
  38. #endif\n\
  39. \n\
  40. czm_modelMaterial material = defaultModelMaterial();\n\
  41. \n\
  42. ProcessedAttributes attributes;\n\
  43. geometryStage(attributes);\n\
  44. \n\
  45. FeatureIds featureIds;\n\
  46. featureIdStage(featureIds, attributes);\n\
  47. \n\
  48. Metadata metadata;\n\
  49. MetadataClass metadataClass;\n\
  50. MetadataStatistics metadataStatistics;\n\
  51. metadataStage(metadata, metadataClass, metadataStatistics, attributes);\n\
  52. \n\
  53. #ifdef HAS_SELECTED_FEATURE_ID\n\
  54. selectedFeatureIdStage(selectedFeature, featureIds);\n\
  55. #endif\n\
  56. \n\
  57. #ifndef CUSTOM_SHADER_REPLACE_MATERIAL\n\
  58. materialStage(material, attributes, selectedFeature);\n\
  59. #endif\n\
  60. \n\
  61. #ifdef HAS_CUSTOM_FRAGMENT_SHADER\n\
  62. customShaderStage(material, attributes, featureIds, metadata, metadataClass, metadataStatistics);\n\
  63. #endif\n\
  64. \n\
  65. lightingStage(material, attributes);\n\
  66. \n\
  67. #ifdef HAS_SELECTED_FEATURE_ID\n\
  68. cpuStylingStage(material, selectedFeature);\n\
  69. #endif\n\
  70. \n\
  71. #ifdef HAS_MODEL_COLOR\n\
  72. modelColorStage(material);\n\
  73. #endif\n\
  74. \n\
  75. #ifdef HAS_PRIMITIVE_OUTLINE\n\
  76. primitiveOutlineStage(material);\n\
  77. #endif\n\
  78. \n\
  79. vec4 color = handleAlpha(material.diffuse, material.alpha);\n\
  80. \n\
  81. #ifdef HAS_CLIPPING_PLANES\n\
  82. modelClippingPlanesStage(color);\n\
  83. #endif\n\
  84. \n\
  85. #if defined(HAS_SILHOUETTE) && defined(HAS_NORMALS)\n\
  86. silhouetteStage(color);\n\
  87. #endif\n\
  88. \n\
  89. out_FragColor = color;\n\
  90. }\n\
  91. ";