common-frag-params.glsl.ts 1.8 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  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. uniform int uMarkerPriority;
  24. #if defined(dMarkerType_uniform)
  25. uniform float uMarker;
  26. #elif defined(dMarkerType_groupInstance)
  27. #if __VERSION__ == 100
  28. varying float vMarker;
  29. #else
  30. flat in float vMarker;
  31. #endif
  32. #endif
  33. varying vec3 vModelPosition;
  34. varying vec3 vViewPosition;
  35. uniform vec2 uViewOffset;
  36. uniform float uNear;
  37. uniform float uFar;
  38. uniform float uIsOrtho;
  39. uniform float uFogNear;
  40. uniform float uFogFar;
  41. uniform vec3 uFogColor;
  42. uniform float uAlpha;
  43. uniform float uPickingAlphaThreshold;
  44. uniform bool uTransparentBackground;
  45. uniform float uInteriorDarkening;
  46. uniform bool uInteriorColorFlag;
  47. uniform vec3 uInteriorColor;
  48. bool interior;
  49. uniform float uXrayEdgeFalloff;
  50. uniform mat4 uProjection;
  51. uniform bool uRenderWboit;
  52. uniform bool uMarkingDepthTest;
  53. uniform sampler2D tDepth;
  54. uniform vec2 uDrawingBufferSize;
  55. float getDepth(const in vec2 coords) {
  56. // always packed due to merged depth from primitives and volumes
  57. return unpackRGBAToDepth(texture2D(tDepth, coords));
  58. }
  59. float calcDepth(const in vec3 pos) {
  60. vec2 clipZW = pos.z * uProjection[2].zw + uProjection[3].zw;
  61. return 0.5 + 0.5 * clipZW.x / clipZW.y;
  62. }
  63. `;