depth_vert.glsl.js 1.0 KB

12345678910111213141516171819202122232425262728293031323334353637383940
  1. export default /* glsl */`
  2. #include <common>
  3. #include <uv_pars_vertex>
  4. #include <displacementmap_pars_vertex>
  5. #include <morphtarget_pars_vertex>
  6. #include <skinning_pars_vertex>
  7. #include <logdepthbuf_pars_vertex>
  8. #include <clipping_planes_pars_vertex>
  9. // This is used for computing an equivalent of gl_FragCoord.z that is as high precision as possible.
  10. // Some platforms compute gl_FragCoord at a lower precision which makes the manually computed value better for
  11. // depth-based postprocessing effects. Reproduced on iPad with A10 processor / iPadOS 13.3.1.
  12. varying vec2 vHighPrecisionZW;
  13. void main() {
  14. #include <uv_vertex>
  15. #include <skinbase_vertex>
  16. #ifdef USE_DISPLACEMENTMAP
  17. #include <beginnormal_vertex>
  18. #include <morphnormal_vertex>
  19. #include <skinnormal_vertex>
  20. #endif
  21. #include <begin_vertex>
  22. #include <morphtarget_vertex>
  23. #include <skinning_vertex>
  24. #include <displacementmap_vertex>
  25. #include <project_vertex>
  26. #include <logdepthbuf_vertex>
  27. #include <clipping_planes_vertex>
  28. vHighPrecisionZW = gl_Position.zw;
  29. }
  30. `;
粤ICP备19079148号