common-frag-params.glsl.ts 1.7 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273
  1. export const common_frag_params = `
  2. uniform int uObjectId;
  3. uniform int uInstanceCount;
  4. uniform int uGroupCount;
  5. #if dClipObjectCount != 0
  6. uniform int uClipObjectType[dClipObjectCount];
  7. uniform bool uClipObjectInvert[dClipObjectCount];
  8. uniform vec3 uClipObjectPosition[dClipObjectCount];
  9. uniform vec4 uClipObjectRotation[dClipObjectCount];
  10. uniform vec3 uClipObjectScale[dClipObjectCount];
  11. #if defined(dClipping)
  12. #if __VERSION__ == 100
  13. varying float vClipping;
  14. #else
  15. flat in float vClipping;
  16. #endif
  17. #endif
  18. #endif
  19. uniform vec3 uHighlightColor;
  20. uniform vec3 uSelectColor;
  21. uniform float uHighlightStrength;
  22. uniform float uSelectStrength;
  23. #if __VERSION__ == 100
  24. varying float vMarker;
  25. #else
  26. flat in float vMarker;
  27. #endif
  28. varying vec3 vModelPosition;
  29. varying vec3 vViewPosition;
  30. uniform vec2 uViewOffset;
  31. uniform float uNear;
  32. uniform float uFar;
  33. uniform float uIsOrtho;
  34. uniform float uFogNear;
  35. uniform float uFogFar;
  36. uniform vec3 uFogColor;
  37. uniform float uAlpha;
  38. uniform float uPickingAlphaThreshold;
  39. uniform bool uTransparentBackground;
  40. uniform float uInteriorDarkening;
  41. uniform bool uInteriorColorFlag;
  42. uniform vec3 uInteriorColor;
  43. bool interior;
  44. uniform float uXrayEdgeFalloff;
  45. uniform mat4 uProjection;
  46. uniform bool uRenderWboit;
  47. uniform bool uMarkingDepthTest;
  48. uniform sampler2D tDepth;
  49. uniform vec2 uDrawingBufferSize;
  50. float getDepth(const in vec2 coords) {
  51. // always packed due to merged depth from primitives and volumes
  52. return unpackRGBAToDepth(texture2D(tDepth, coords));
  53. }
  54. float calcDepth(const in vec3 pos) {
  55. vec2 clipZW = pos.z * uProjection[2].zw + uProjection[3].zw;
  56. return 0.5 + 0.5 * clipZW.x / clipZW.y;
  57. }
  58. `;