meshphong.glsl.js 3.1 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. export const vertex = /* glsl */`
  2. #define PHONG
  3. varying vec3 vViewPosition;
  4. #include <common>
  5. #include <uv_pars_vertex>
  6. #include <displacementmap_pars_vertex>
  7. #include <envmap_pars_vertex>
  8. #include <color_pars_vertex>
  9. #include <fog_pars_vertex>
  10. #include <normal_pars_vertex>
  11. #include <morphtarget_pars_vertex>
  12. #include <skinning_pars_vertex>
  13. #include <shadowmap_pars_vertex>
  14. #include <logdepthbuf_pars_vertex>
  15. #include <clipping_planes_pars_vertex>
  16. void main() {
  17. #include <uv_vertex>
  18. #include <color_vertex>
  19. #include <morphcolor_vertex>
  20. #include <beginnormal_vertex>
  21. #include <morphnormal_vertex>
  22. #include <skinbase_vertex>
  23. #include <skinnormal_vertex>
  24. #include <defaultnormal_vertex>
  25. #include <normal_vertex>
  26. #include <begin_vertex>
  27. #include <morphtarget_vertex>
  28. #include <skinning_vertex>
  29. #include <displacementmap_vertex>
  30. #include <project_vertex>
  31. #include <logdepthbuf_vertex>
  32. #include <clipping_planes_vertex>
  33. vViewPosition = - mvPosition.xyz;
  34. #include <worldpos_vertex>
  35. #include <envmap_vertex>
  36. #include <shadowmap_vertex>
  37. #include <fog_vertex>
  38. }
  39. `;
  40. export const fragment = /* glsl */`
  41. #define PHONG
  42. uniform vec3 diffuse;
  43. uniform vec3 emissive;
  44. uniform vec3 specular;
  45. uniform float shininess;
  46. uniform float opacity;
  47. #include <common>
  48. #include <packing>
  49. #include <dithering_pars_fragment>
  50. #include <color_pars_fragment>
  51. #include <uv_pars_fragment>
  52. #include <map_pars_fragment>
  53. #include <alphamap_pars_fragment>
  54. #include <alphatest_pars_fragment>
  55. #include <aomap_pars_fragment>
  56. #include <lightmap_pars_fragment>
  57. #include <emissivemap_pars_fragment>
  58. #include <envmap_common_pars_fragment>
  59. #include <envmap_pars_fragment>
  60. #include <fog_pars_fragment>
  61. #include <bsdfs>
  62. #include <lights_pars_begin>
  63. #include <normal_pars_fragment>
  64. #include <lights_phong_pars_fragment>
  65. #include <shadowmap_pars_fragment>
  66. #include <bumpmap_pars_fragment>
  67. #include <normalmap_pars_fragment>
  68. #include <specularmap_pars_fragment>
  69. #include <logdepthbuf_pars_fragment>
  70. #include <clipping_planes_pars_fragment>
  71. void main() {
  72. #include <clipping_planes_fragment>
  73. vec4 diffuseColor = vec4( diffuse, opacity );
  74. ReflectedLight reflectedLight = ReflectedLight( vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ), vec3( 0.0 ) );
  75. vec3 totalEmissiveRadiance = emissive;
  76. #include <logdepthbuf_fragment>
  77. #include <map_fragment>
  78. #include <color_fragment>
  79. #include <alphamap_fragment>
  80. #include <alphatest_fragment>
  81. #include <specularmap_fragment>
  82. #include <normal_fragment_begin>
  83. #include <normal_fragment_maps>
  84. #include <emissivemap_fragment>
  85. // accumulation
  86. #include <lights_phong_fragment>
  87. #include <lights_fragment_begin>
  88. #include <lights_fragment_maps>
  89. #include <lights_fragment_end>
  90. // modulation
  91. #include <aomap_fragment>
  92. vec3 outgoingLight = reflectedLight.directDiffuse + reflectedLight.indirectDiffuse + reflectedLight.directSpecular + reflectedLight.indirectSpecular + totalEmissiveRadiance;
  93. #include <envmap_fragment>
  94. #include <output_fragment>
  95. #include <tonemapping_fragment>
  96. #include <encodings_fragment>
  97. #include <fog_fragment>
  98. #include <premultiplied_alpha_fragment>
  99. #include <dithering_fragment>
  100. }
  101. `;