UniformsLib.js 2.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178
  1. import { Vector4 } from '../../math/Vector4';
  2. import { Color } from '../../math/Color';
  3. import { Vector2 } from '../../math/Vector2';
  4. import { DataTexture } from '../../textures/DataTexture';
  5. /**
  6. * Uniforms library for shared webgl shaders
  7. */
  8. var UniformsLib = {
  9. common: {
  10. diffuse: { value: new Color( 0xeeeeee ) },
  11. opacity: { value: 1.0 },
  12. map: { value: null },
  13. offsetRepeat: { value: new Vector4( 0, 0, 1, 1 ) },
  14. specularMap: { value: null },
  15. alphaMap: { value: null },
  16. envMap: { value: null },
  17. flipEnvMap: { value: - 1 },
  18. reflectivity: { value: 1.0 },
  19. refractionRatio: { value: 0.98 }
  20. },
  21. aomap: {
  22. aoMap: { value: null },
  23. aoMapIntensity: { value: 1 }
  24. },
  25. lightmap: {
  26. lightMap: { value: null },
  27. lightMapIntensity: { value: 1 }
  28. },
  29. emissivemap: {
  30. emissiveMap: { value: null }
  31. },
  32. bumpmap: {
  33. bumpMap: { value: null },
  34. bumpScale: { value: 1 }
  35. },
  36. normalmap: {
  37. normalMap: { value: null },
  38. normalScale: { value: new Vector2( 1, 1 ) }
  39. },
  40. displacementmap: {
  41. displacementMap: { value: null },
  42. displacementScale: { value: 1 },
  43. displacementBias: { value: 0 }
  44. },
  45. roughnessmap: {
  46. roughnessMap: { value: null }
  47. },
  48. metalnessmap: {
  49. metalnessMap: { value: null }
  50. },
  51. gradientmap: {
  52. gradientMap: { value: null }
  53. },
  54. fog: {
  55. fogDensity: { value: 0.00025 },
  56. fogNear: { value: 1 },
  57. fogFar: { value: 2000 },
  58. fogColor: { value: new Color( 0xffffff ) }
  59. },
  60. lights: {
  61. ambientLightColor: { value: [] },
  62. directionalLights: { value: [], properties: {
  63. direction: {},
  64. color: {},
  65. shadow: {},
  66. shadowBias: {},
  67. shadowRadius: {},
  68. shadowMapSize: {}
  69. } },
  70. directionalShadowMap: { value: [] },
  71. directionalShadowMatrix: { value: [] },
  72. spotLights: { value: [], properties: {
  73. color: {},
  74. position: {},
  75. direction: {},
  76. distance: {},
  77. coneCos: {},
  78. penumbraCos: {},
  79. decay: {},
  80. shadow: {},
  81. shadowBias: {},
  82. shadowRadius: {},
  83. shadowMapSize: {}
  84. } },
  85. spotShadowMap: { value: [] },
  86. spotShadowMatrix: { value: [] },
  87. pointLights: { value: [], properties: {
  88. color: {},
  89. position: {},
  90. decay: {},
  91. distance: {},
  92. shadow: {},
  93. shadowBias: {},
  94. shadowRadius: {},
  95. shadowMapSize: {}
  96. } },
  97. pointShadowMap: { value: [] },
  98. pointShadowMatrix: { value: [] },
  99. hemisphereLights: { value: [], properties: {
  100. direction: {},
  101. skyColor: {},
  102. groundColor: {}
  103. } },
  104. // TODO (abelnation): RectAreaLight BRDF data needs to be moved from example to main src
  105. rectAreaLights: { value: [], properties: {
  106. color: {},
  107. position: {},
  108. width: {},
  109. height: {},
  110. } }
  111. },
  112. points: {
  113. diffuse: { value: new Color( 0xeeeeee ) },
  114. opacity: { value: 1.0 },
  115. size: { value: 1.0 },
  116. scale: { value: 1.0 },
  117. map: { value: null },
  118. offsetRepeat: { value: new Vector4( 0, 0, 1, 1 ) }
  119. }
  120. };
  121. export { UniformsLib };