UniformsLib.js 2.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172
  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. fog: {
  52. fogDensity: { value: 0.00025 },
  53. fogNear: { value: 1 },
  54. fogFar: { value: 2000 },
  55. fogColor: { value: new Color( 0xffffff ) }
  56. },
  57. lights: {
  58. ambientLightColor: { value: [] },
  59. directionalLights: { value: [], properties: {
  60. direction: {},
  61. color: {},
  62. shadow: {},
  63. shadowBias: {},
  64. shadowRadius: {},
  65. shadowMapSize: {}
  66. } },
  67. directionalShadowMap: { value: [] },
  68. directionalShadowMatrix: { value: [] },
  69. spotLights: { value: [], properties: {
  70. color: {},
  71. position: {},
  72. direction: {},
  73. distance: {},
  74. coneCos: {},
  75. penumbraCos: {},
  76. decay: {},
  77. shadow: {},
  78. shadowBias: {},
  79. shadowRadius: {},
  80. shadowMapSize: {}
  81. } },
  82. spotShadowMap: { value: [] },
  83. spotShadowMatrix: { value: [] },
  84. pointLights: { value: [], properties: {
  85. color: {},
  86. position: {},
  87. decay: {},
  88. distance: {},
  89. shadow: {},
  90. shadowBias: {},
  91. shadowRadius: {},
  92. shadowMapSize: {}
  93. } },
  94. pointShadowMap: { value: [] },
  95. pointShadowMatrix: { value: [] },
  96. hemisphereLights: { value: [], properties: {
  97. direction: {},
  98. skyColor: {},
  99. groundColor: {}
  100. } },
  101. // TODO (abelnation): RectAreaLight BRDF data needs to be moved from example to main src
  102. rectAreaLights: { value: [], properties: {
  103. color: {},
  104. position: {},
  105. width: {},
  106. height: {},
  107. } }
  108. },
  109. points: {
  110. diffuse: { value: new Color( 0xeeeeee ) },
  111. opacity: { value: 1.0 },
  112. size: { value: 1.0 },
  113. scale: { value: 1.0 },
  114. map: { value: null },
  115. offsetRepeat: { value: new Vector4( 0, 0, 1, 1 ) }
  116. }
  117. };
  118. export { UniformsLib };