UniformsLib.js 3.1 KB

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