meshbasic_frag.glsl.js 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071
  1. export default /* glsl */`
  2. uniform vec3 diffuse;
  3. uniform float opacity;
  4. #ifndef FLAT_SHADED
  5. varying vec3 vNormal;
  6. #endif
  7. #include <common>
  8. #include <color_pars_fragment>
  9. #include <uv_pars_fragment>
  10. #include <uv2_pars_fragment>
  11. #include <map_pars_fragment>
  12. #include <alphamap_pars_fragment>
  13. #include <aomap_pars_fragment>
  14. #include <lightmap_pars_fragment>
  15. #include <envmap_common_pars_fragment>
  16. #include <envmap_pars_fragment>
  17. #include <cube_uv_reflection_fragment>
  18. #include <fog_pars_fragment>
  19. #include <specularmap_pars_fragment>
  20. #include <logdepthbuf_pars_fragment>
  21. #include <clipping_planes_pars_fragment>
  22. void main() {
  23. #include <clipping_planes_fragment>
  24. vec4 diffuseColor = vec4( diffuse, opacity );
  25. #include <logdepthbuf_fragment>
  26. #include <map_fragment>
  27. #include <color_fragment>
  28. #include <alphamap_fragment>
  29. #include <alphatest_fragment>
  30. #include <specularmap_fragment>
  31. ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
  32. // accumulation (baked indirect lighting only)
  33. #ifdef USE_LIGHTMAP
  34. vec4 lightMapTexel= texture2D( lightMap, vUv2 );
  35. reflectedLight.indirectDiffuse += lightMapTexelToLinear( lightMapTexel ).rgb * lightMapIntensity;
  36. #else
  37. reflectedLight.indirectDiffuse += vec3( 1.0 );
  38. #endif
  39. // modulation
  40. #include <aomap_fragment>
  41. reflectedLight.indirectDiffuse *= diffuseColor.rgb;
  42. vec3 outgoingLight = reflectedLight.indirectDiffuse;
  43. #include <envmap_fragment>
  44. gl_FragColor = vec4( outgoingLight, diffuseColor.a );
  45. #include <tonemapping_fragment>
  46. #include <encodings_fragment>
  47. #include <fog_fragment>
  48. #include <premultiplied_alpha_fragment>
  49. }
  50. `;