UniformsLib.js 3.3 KB

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