three-stdlib 2.8.11 → 2.8.12

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (166) hide show
  1. package/index.cjs.js +1 -1
  2. package/index.d.ts +1 -52
  3. package/index.js +52 -52
  4. package/lines/LineMaterial.d.ts +7 -6
  5. package/modifiers/CurveModifier.cjs.js +1 -1
  6. package/modifiers/CurveModifier.d.ts +13 -9
  7. package/modifiers/CurveModifier.js +27 -30
  8. package/objects/Lensflare.cjs.js +1 -1
  9. package/objects/Lensflare.js +11 -3
  10. package/package.json +2 -2
  11. package/postprocessing/AfterimagePass.d.ts +2 -30
  12. package/shaders/ACESFilmicToneMappingShader.cjs.js +1 -1
  13. package/shaders/ACESFilmicToneMappingShader.d.ts +9 -0
  14. package/shaders/ACESFilmicToneMappingShader.js +1 -1
  15. package/shaders/AfterimageShader.d.ts +9 -15
  16. package/shaders/BasicShader.cjs.js +1 -1
  17. package/shaders/BasicShader.d.ts +5 -5
  18. package/shaders/BasicShader.js +1 -1
  19. package/shaders/BleachBypassShader.cjs.js +1 -1
  20. package/shaders/BleachBypassShader.d.ts +8 -9
  21. package/shaders/BleachBypassShader.js +1 -1
  22. package/shaders/BlendShader.cjs.js +1 -1
  23. package/shaders/BlendShader.d.ts +13 -7
  24. package/shaders/BlendShader.js +1 -1
  25. package/shaders/BokehShader.cjs.js +1 -1
  26. package/shaders/BokehShader.d.ts +18 -19
  27. package/shaders/BokehShader.js +1 -1
  28. package/shaders/BokehShader2.cjs.js +1 -1
  29. package/shaders/BokehShader2.d.ts +80 -34
  30. package/shaders/BokehShader2.js +2 -2
  31. package/shaders/BrightnessContrastShader.cjs.js +1 -1
  32. package/shaders/BrightnessContrastShader.d.ts +10 -6
  33. package/shaders/BrightnessContrastShader.js +1 -1
  34. package/shaders/ColorCorrectionShader.cjs.js +1 -1
  35. package/shaders/ColorCorrectionShader.d.ts +14 -7
  36. package/shaders/ColorCorrectionShader.js +1 -1
  37. package/shaders/ColorifyShader.cjs.js +1 -1
  38. package/shaders/ColorifyShader.d.ts +8 -5
  39. package/shaders/ColorifyShader.js +1 -1
  40. package/shaders/ConvolutionShader.cjs.js +1 -1
  41. package/shaders/ConvolutionShader.d.ts +15 -16
  42. package/shaders/ConvolutionShader.js +9 -14
  43. package/shaders/CopyShader.d.ts +8 -12
  44. package/shaders/DOFMipMapShader.cjs.js +1 -1
  45. package/shaders/DOFMipMapShader.d.ts +13 -7
  46. package/shaders/DOFMipMapShader.js +1 -1
  47. package/shaders/DepthLimitedBlurShader.cjs.js +1 -1
  48. package/shaders/DepthLimitedBlurShader.d.ts +26 -25
  49. package/shaders/DepthLimitedBlurShader.js +12 -16
  50. package/shaders/DigitalGlitch.cjs.js +1 -1
  51. package/shaders/DigitalGlitch.d.ts +34 -14
  52. package/shaders/DigitalGlitch.js +1 -10
  53. package/shaders/DotScreenShader.cjs.js +1 -1
  54. package/shaders/DotScreenShader.d.ts +17 -8
  55. package/shaders/DotScreenShader.js +1 -1
  56. package/shaders/FXAAShader.cjs.js +1 -1
  57. package/shaders/FXAAShader.d.ts +8 -5
  58. package/shaders/FXAAShader.js +1 -1
  59. package/shaders/FilmShader.cjs.js +1 -1
  60. package/shaders/FilmShader.d.ts +19 -9
  61. package/shaders/FilmShader.js +1 -1
  62. package/shaders/FocusShader.cjs.js +1 -1
  63. package/shaders/FocusShader.d.ts +16 -8
  64. package/shaders/FocusShader.js +1 -1
  65. package/shaders/FreiChenShader.cjs.js +1 -1
  66. package/shaders/FreiChenShader.d.ts +8 -5
  67. package/shaders/FreiChenShader.js +1 -1
  68. package/shaders/FresnelShader.cjs.js +1 -1
  69. package/shaders/FresnelShader.d.ts +21 -0
  70. package/shaders/FresnelShader.js +1 -1
  71. package/shaders/GammaCorrectionShader.d.ts +7 -7
  72. package/shaders/GodRaysShader.cjs.js +1 -1
  73. package/shaders/GodRaysShader.d.ts +38 -20
  74. package/shaders/GodRaysShader.js +4 -4
  75. package/shaders/HalftoneShader.cjs.js +1 -1
  76. package/shaders/HalftoneShader.d.ts +40 -16
  77. package/shaders/HalftoneShader.js +1 -1
  78. package/shaders/HorizontalBlurShader.d.ts +8 -8
  79. package/shaders/HorizontalTiltShiftShader.cjs.js +1 -1
  80. package/shaders/HorizontalTiltShiftShader.d.ts +10 -6
  81. package/shaders/HorizontalTiltShiftShader.js +1 -1
  82. package/shaders/HueSaturationShader.cjs.js +1 -1
  83. package/shaders/HueSaturationShader.d.ts +10 -6
  84. package/shaders/HueSaturationShader.js +1 -1
  85. package/shaders/KaleidoShader.cjs.js +1 -1
  86. package/shaders/KaleidoShader.d.ts +10 -6
  87. package/shaders/KaleidoShader.js +1 -1
  88. package/shaders/LuminosityHighPassShader.cjs.js +1 -1
  89. package/shaders/LuminosityHighPassShader.d.ts +17 -8
  90. package/shaders/LuminosityHighPassShader.js +1 -1
  91. package/shaders/LuminosityShader.cjs.js +1 -1
  92. package/shaders/LuminosityShader.d.ts +4 -4
  93. package/shaders/LuminosityShader.js +1 -1
  94. package/shaders/MirrorShader.cjs.js +1 -1
  95. package/shaders/MirrorShader.d.ts +7 -5
  96. package/shaders/MirrorShader.js +1 -1
  97. package/shaders/NormalMapShader.cjs.js +1 -1
  98. package/shaders/NormalMapShader.d.ts +14 -7
  99. package/shaders/NormalMapShader.js +1 -1
  100. package/shaders/ParallaxShader.cjs.js +1 -1
  101. package/shaders/ParallaxShader.d.ts +28 -0
  102. package/shaders/ParallaxShader.js +1 -1
  103. package/shaders/PixelShader.cjs.js +1 -1
  104. package/shaders/PixelShader.d.ts +10 -6
  105. package/shaders/PixelShader.js +1 -1
  106. package/shaders/RGBShiftShader.cjs.js +1 -1
  107. package/shaders/RGBShiftShader.d.ts +10 -6
  108. package/shaders/RGBShiftShader.js +1 -1
  109. package/shaders/SAOShader.cjs.js +1 -1
  110. package/shaders/SAOShader.d.ts +24 -29
  111. package/shaders/SAOShader.js +1 -5
  112. package/shaders/SMAAShader.cjs.js +1 -1
  113. package/shaders/SMAAShader.d.ts +31 -16
  114. package/shaders/SMAAShader.js +3 -3
  115. package/shaders/SSAOShader.cjs.js +1 -1
  116. package/shaders/SSAOShader.d.ts +58 -25
  117. package/shaders/SSAOShader.js +3 -3
  118. package/shaders/SSRShader.cjs.js +1 -1
  119. package/shaders/SSRShader.d.ts +67 -36
  120. package/shaders/SSRShader.js +3 -3
  121. package/shaders/SepiaShader.cjs.js +1 -1
  122. package/shaders/SepiaShader.d.ts +7 -5
  123. package/shaders/SepiaShader.js +1 -1
  124. package/shaders/SobelOperatorShader.cjs.js +1 -1
  125. package/shaders/SobelOperatorShader.d.ts +8 -5
  126. package/shaders/SobelOperatorShader.js +1 -1
  127. package/shaders/SubsurfaceScatteringShader.cjs.js +1 -1
  128. package/shaders/SubsurfaceScatteringShader.d.ts +2 -34
  129. package/shaders/SubsurfaceScatteringShader.js +3 -3
  130. package/shaders/TechnicolorShader.cjs.js +1 -1
  131. package/shaders/TechnicolorShader.d.ts +4 -4
  132. package/shaders/TechnicolorShader.js +1 -1
  133. package/shaders/ToneMapShader.cjs.js +1 -1
  134. package/shaders/ToneMapShader.d.ts +19 -9
  135. package/shaders/ToneMapShader.js +1 -1
  136. package/shaders/ToonShader.cjs.js +1 -1
  137. package/shaders/ToonShader.d.ts +80 -34
  138. package/shaders/ToonShader.js +4 -4
  139. package/shaders/TriangleBlurShader.cjs.js +1 -1
  140. package/shaders/TriangleBlurShader.d.ts +8 -5
  141. package/shaders/TriangleBlurShader.js +1 -1
  142. package/shaders/UnpackDepthRGBAShader.cjs.js +1 -1
  143. package/shaders/UnpackDepthRGBAShader.d.ts +7 -5
  144. package/shaders/UnpackDepthRGBAShader.js +1 -1
  145. package/shaders/VerticalBlurShader.cjs.js +1 -1
  146. package/shaders/VerticalBlurShader.d.ts +8 -8
  147. package/shaders/VerticalBlurShader.js +1 -1
  148. package/shaders/VerticalTiltShiftShader.cjs.js +1 -1
  149. package/shaders/VerticalTiltShiftShader.d.ts +10 -6
  150. package/shaders/VerticalTiltShiftShader.js +1 -1
  151. package/shaders/VignetteShader.cjs.js +1 -1
  152. package/shaders/VignetteShader.d.ts +10 -6
  153. package/shaders/VignetteShader.js +1 -1
  154. package/shaders/VolumeShader.cjs.js +1 -1
  155. package/shaders/VolumeShader.d.ts +20 -9
  156. package/shaders/VolumeShader.js +1 -1
  157. package/shaders/WaterRefractionShader.cjs.js +1 -1
  158. package/shaders/WaterRefractionShader.d.ts +16 -8
  159. package/shaders/WaterRefractionShader.js +1 -1
  160. package/shaders/index.cjs.js +1 -0
  161. package/shaders/index.d.ts +53 -0
  162. package/shaders/index.js +53 -0
  163. package/shaders/types.cjs.js +1 -0
  164. package/shaders/types.d.ts +14 -0
  165. package/shaders/types.js +1 -0
  166. package/types/shared.d.ts +0 -20
package/index.d.ts CHANGED
@@ -180,58 +180,7 @@ export * from './csm/CSM';
180
180
  export * from './csm/Shader';
181
181
  export * from './csm/CSMHelper';
182
182
  export * from './csm/Frustum';
183
- export * from './shaders/SMAAShader';
184
- export * from './shaders/HalftoneShader';
185
- export * from './shaders/ConvolutionShader';
186
- export * from './shaders/SAOShader';
187
- export * from './shaders/GodRaysShader';
188
- export * from './shaders/LuminosityShader';
189
- export * from './shaders/MirrorShader';
190
- export * from './shaders/ToneMapShader';
191
- export * from './shaders/BleachBypassShader';
192
- export * from './shaders/BlendShader';
193
- export * from './shaders/KaleidoShader';
194
- export * from './shaders/ACESFilmicToneMappingShader';
195
- export * from './shaders/ParallaxShader';
196
- export * from './shaders/VerticalBlurShader';
197
- export * from './shaders/ColorCorrectionShader';
198
- export * from './shaders/PixelShader';
199
- export * from './shaders/BokehShader2';
200
- export * from './shaders/FocusShader';
201
- export * from './shaders/WaterRefractionShader';
202
- export * from './shaders/RGBShiftShader';
203
- export * from './shaders/TriangleBlurShader';
204
- export * from './shaders/FilmShader';
205
- export * from './shaders/SepiaShader';
206
- export * from './shaders/BokehShader';
207
- export * from './shaders/FXAAShader';
208
- export * from './shaders/AfterimageShader';
209
- export * from './shaders/DotScreenShader';
210
- export * from './shaders/SubsurfaceScatteringShader';
211
- export * from './shaders/ToonShader';
212
- export * from './shaders/DepthLimitedBlurShader';
213
- export * from './shaders/NormalMapShader';
214
- export * from './shaders/FreiChenShader';
215
- export * from './shaders/VolumeShader';
216
- export * from './shaders/HorizontalTiltShiftShader';
217
- export * from './shaders/VerticalTiltShiftShader';
218
- export * from './shaders/BrightnessContrastShader';
219
- export * from './shaders/SobelOperatorShader';
220
- export * from './shaders/SSAOShader';
221
- export * from './shaders/GammaCorrectionShader';
222
- export * from './shaders/VignetteShader';
223
- export * from './shaders/HorizontalBlurShader';
224
- export * from './shaders/UnpackDepthRGBAShader';
225
- export * from './shaders/FresnelShader';
226
- export * from './shaders/HueSaturationShader';
227
- export * from './shaders/DigitalGlitch';
228
- export * from './shaders/BasicShader';
229
- export * from './shaders/CopyShader';
230
- export * from './shaders/LuminosityHighPassShader';
231
- export * from './shaders/DOFMipMapShader';
232
- export * from './shaders/SSRShader';
233
- export * from './shaders/TechnicolorShader';
234
- export * from './shaders/ColorifyShader';
183
+ export * from './shaders';
235
184
  export * from './interactive/SelectionHelper';
236
185
  export * from './interactive/SelectionBox';
237
186
  export * from './physics/AmmoPhysics';
package/index.js CHANGED
@@ -124,58 +124,6 @@ export { TeapotGeometry } from './geometries/TeapotGeometry.js';
124
124
  export { TextGeometry as TextBufferGeometry, TextGeometry } from './geometries/TextGeometry.js';
125
125
  export { CSM } from './csm/CSM.js';
126
126
  export { CSMHelper } from './csm/CSMHelper.js';
127
- export { SMAABlendShader, SMAAEdgesShader, SMAAWeightsShader } from './shaders/SMAAShader.js';
128
- export { HalftoneShader } from './shaders/HalftoneShader.js';
129
- export { ConvolutionShader } from './shaders/ConvolutionShader.js';
130
- export { SAOShader } from './shaders/SAOShader.js';
131
- export { GodRaysCombineShader, GodRaysDepthMaskShader, GodRaysFakeSunShader, GodRaysGenerateShader } from './shaders/GodRaysShader.js';
132
- export { LuminosityShader } from './shaders/LuminosityShader.js';
133
- export { MirrorShader } from './shaders/MirrorShader.js';
134
- export { ToneMapShader } from './shaders/ToneMapShader.js';
135
- export { BleachBypassShader } from './shaders/BleachBypassShader.js';
136
- export { BlendShader } from './shaders/BlendShader.js';
137
- export { KaleidoShader } from './shaders/KaleidoShader.js';
138
- export { ACESFilmicToneMappingShader } from './shaders/ACESFilmicToneMappingShader.js';
139
- export { ParallaxShader } from './shaders/ParallaxShader.js';
140
- export { VerticalBlurShader } from './shaders/VerticalBlurShader.js';
141
- export { ColorCorrectionShader } from './shaders/ColorCorrectionShader.js';
142
- export { PixelShader } from './shaders/PixelShader.js';
143
- export { BokehDepthShader, BokehShader2 } from './shaders/BokehShader2.js';
144
- export { FocusShader } from './shaders/FocusShader.js';
145
- export { WaterRefractionShader } from './shaders/WaterRefractionShader.js';
146
- export { RGBShiftShader } from './shaders/RGBShiftShader.js';
147
- export { TriangleBlurShader } from './shaders/TriangleBlurShader.js';
148
- export { FilmShader } from './shaders/FilmShader.js';
149
- export { SepiaShader } from './shaders/SepiaShader.js';
150
- export { BokehShader } from './shaders/BokehShader.js';
151
- export { FXAAShader } from './shaders/FXAAShader.js';
152
- export { AfterimageShader } from './shaders/AfterimageShader.js';
153
- export { DotScreenShader } from './shaders/DotScreenShader.js';
154
- export { SubsurfaceScatteringShader } from './shaders/SubsurfaceScatteringShader.js';
155
- export { ToonShader1, ToonShader2, ToonShaderDotted, ToonShaderHatching } from './shaders/ToonShader.js';
156
- export { BlurShaderUtils, DepthLimitedBlurShader } from './shaders/DepthLimitedBlurShader.js';
157
- export { NormalMapShader } from './shaders/NormalMapShader.js';
158
- export { FreiChenShader } from './shaders/FreiChenShader.js';
159
- export { VolumeRenderShader1 } from './shaders/VolumeShader.js';
160
- export { HorizontalTiltShiftShader } from './shaders/HorizontalTiltShiftShader.js';
161
- export { VerticalTiltShiftShader } from './shaders/VerticalTiltShiftShader.js';
162
- export { BrightnessContrastShader } from './shaders/BrightnessContrastShader.js';
163
- export { SobelOperatorShader } from './shaders/SobelOperatorShader.js';
164
- export { SSAOBlurShader, SSAODepthShader, SSAOShader } from './shaders/SSAOShader.js';
165
- export { GammaCorrectionShader } from './shaders/GammaCorrectionShader.js';
166
- export { VignetteShader } from './shaders/VignetteShader.js';
167
- export { HorizontalBlurShader } from './shaders/HorizontalBlurShader.js';
168
- export { UnpackDepthRGBAShader } from './shaders/UnpackDepthRGBAShader.js';
169
- export { FresnelShader } from './shaders/FresnelShader.js';
170
- export { HueSaturationShader } from './shaders/HueSaturationShader.js';
171
- export { DigitalGlitch } from './shaders/DigitalGlitch.js';
172
- export { BasicShader } from './shaders/BasicShader.js';
173
- export { CopyShader } from './shaders/CopyShader.js';
174
- export { LuminosityHighPassShader } from './shaders/LuminosityHighPassShader.js';
175
- export { DOFMipMapShader } from './shaders/DOFMipMapShader.js';
176
- export { SSRBlurShader, SSRDepthShader, SSRShader } from './shaders/SSRShader.js';
177
- export { TechnicolorShader } from './shaders/TechnicolorShader.js';
178
- export { ColorifyShader } from './shaders/ColorifyShader.js';
179
127
  export { SelectionHelper } from './interactive/SelectionHelper.js';
180
128
  export { SelectionBox } from './interactive/SelectionBox.js';
181
129
  export { AmmoPhysics } from './physics/AmmoPhysics.js';
@@ -326,3 +274,55 @@ export { default as NodeObjectLoader } from './nodes/loaders/NodeObjectLoader.js
326
274
  export { default as NodeMaterialLoader } from './nodes/loaders/NodeMaterialLoader.js';
327
275
  export { BRDF_GGX, BRDF_Lambert, D_GGX, F_Schlick, PhysicalLightingModel, RE_Direct_Physical, V_GGX_SmithCorrelated, getDistanceAttenuation } from './nodes/functions/BSDFs.js';
328
276
  export { EPSILON, INFINITY, ShaderNode, abs, acos, add, addTo, alphaTest, and, asin, assign, atan, attribute, bitAnd, bitOr, bitXor, bmat3, bmat4, bool, buffer, bvec2, bvec3, bvec4, cameraPosition, ceil, clamp, color, cond, cos, cross, dFdx, dFdy, degrees, diffuseColor, distance, div, dot, element, equal, exp, exp2, faceforward, float, floor, fract, greaterThan, greaterThanEqual, imat3, imat4, int, inversesqrt, invert, ivec2, ivec3, ivec4, join, label, length, lessThan, lessThanEqual, log, log2, mat3, mat4, max, metalness, min, mix, mod, mul, negate, nodeObject, normalGeometry, normalLocal, normalView, normalWorld, normalize, or, positionLocal, positionView, positionViewDirection, positionWorld, pow, pow2, pow3, pow4, radians, reflect, refract, remainder, roughness, round, sampler, saturate, shiftLeft, shiftRight, sign, sin, smoothstep, specularColor, sqrt, step, sub, tan, temp, texture, transformDirection, transformedNormalView, uint, umat3, umat4, uniform, uv, uvec2, uvec3, uvec4, vec2, vec3, vec4, viewMatrix, xor } from './nodes/ShaderNode.js';
277
+ export { ACESFilmicToneMappingShader } from './shaders/ACESFilmicToneMappingShader.js';
278
+ export { AfterimageShader } from './shaders/AfterimageShader.js';
279
+ export { BasicShader } from './shaders/BasicShader.js';
280
+ export { BleachBypassShader } from './shaders/BleachBypassShader.js';
281
+ export { BlendShader } from './shaders/BlendShader.js';
282
+ export { BokehShader } from './shaders/BokehShader.js';
283
+ export { BokehDepthShader, BokehShader2 } from './shaders/BokehShader2.js';
284
+ export { BrightnessContrastShader } from './shaders/BrightnessContrastShader.js';
285
+ export { ColorCorrectionShader } from './shaders/ColorCorrectionShader.js';
286
+ export { ColorifyShader } from './shaders/ColorifyShader.js';
287
+ export { ConvolutionShader } from './shaders/ConvolutionShader.js';
288
+ export { CopyShader } from './shaders/CopyShader.js';
289
+ export { DOFMipMapShader } from './shaders/DOFMipMapShader.js';
290
+ export { BlurShaderUtils, DepthLimitedBlurShader } from './shaders/DepthLimitedBlurShader.js';
291
+ export { DigitalGlitch } from './shaders/DigitalGlitch.js';
292
+ export { DotScreenShader } from './shaders/DotScreenShader.js';
293
+ export { FXAAShader } from './shaders/FXAAShader.js';
294
+ export { FilmShader } from './shaders/FilmShader.js';
295
+ export { FocusShader } from './shaders/FocusShader.js';
296
+ export { FreiChenShader } from './shaders/FreiChenShader.js';
297
+ export { FresnelShader } from './shaders/FresnelShader.js';
298
+ export { GammaCorrectionShader } from './shaders/GammaCorrectionShader.js';
299
+ export { GodRaysCombineShader, GodRaysDepthMaskShader, GodRaysFakeSunShader, GodRaysGenerateShader } from './shaders/GodRaysShader.js';
300
+ export { HalftoneShader } from './shaders/HalftoneShader.js';
301
+ export { HorizontalBlurShader } from './shaders/HorizontalBlurShader.js';
302
+ export { HorizontalTiltShiftShader } from './shaders/HorizontalTiltShiftShader.js';
303
+ export { HueSaturationShader } from './shaders/HueSaturationShader.js';
304
+ export { KaleidoShader } from './shaders/KaleidoShader.js';
305
+ export { LuminosityHighPassShader } from './shaders/LuminosityHighPassShader.js';
306
+ export { LuminosityShader } from './shaders/LuminosityShader.js';
307
+ export { MirrorShader } from './shaders/MirrorShader.js';
308
+ export { NormalMapShader } from './shaders/NormalMapShader.js';
309
+ export { ParallaxShader } from './shaders/ParallaxShader.js';
310
+ export { PixelShader } from './shaders/PixelShader.js';
311
+ export { RGBShiftShader } from './shaders/RGBShiftShader.js';
312
+ export { SAOShader } from './shaders/SAOShader.js';
313
+ export { SMAABlendShader, SMAAEdgesShader, SMAAWeightsShader } from './shaders/SMAAShader.js';
314
+ export { SSAOBlurShader, SSAODepthShader, SSAOShader } from './shaders/SSAOShader.js';
315
+ export { SSRBlurShader, SSRDepthShader, SSRShader } from './shaders/SSRShader.js';
316
+ export { SepiaShader } from './shaders/SepiaShader.js';
317
+ export { SobelOperatorShader } from './shaders/SobelOperatorShader.js';
318
+ export { SubsurfaceScatteringShader } from './shaders/SubsurfaceScatteringShader.js';
319
+ export { TechnicolorShader } from './shaders/TechnicolorShader.js';
320
+ export { ToneMapShader } from './shaders/ToneMapShader.js';
321
+ export { ToonShader1, ToonShader2, ToonShaderDotted, ToonShaderHatching } from './shaders/ToonShader.js';
322
+ export { TriangleBlurShader } from './shaders/TriangleBlurShader.js';
323
+ export { UnpackDepthRGBAShader } from './shaders/UnpackDepthRGBAShader.js';
324
+ export { VerticalBlurShader } from './shaders/VerticalBlurShader.js';
325
+ export { VerticalTiltShiftShader } from './shaders/VerticalTiltShiftShader.js';
326
+ export { VignetteShader } from './shaders/VignetteShader.js';
327
+ export { VolumeRenderShader1 } from './shaders/VolumeShader.js';
328
+ export { WaterRefractionShader } from './shaders/WaterRefractionShader.js';
@@ -1,15 +1,16 @@
1
- import { ShaderMaterial, Vector2, ShaderMaterialParameters, Color } from 'three';
2
- import { ColorOptions } from '../types/shared';
3
- export declare type LineMaterialParameters = ShaderMaterialParameters & {
1
+ import { ShaderMaterial, Vector2, Color } from 'three';
2
+ import type { ShaderMaterialParameters } from 'three';
3
+ export declare type ColorOptions = Color | string | number;
4
+ export interface LineMaterialParameters extends ShaderMaterialParameters {
4
5
  color?: ColorOptions;
5
- linewidth?: number;
6
6
  dashed?: boolean;
7
+ dashOffset?: number;
7
8
  dashScale?: number;
8
9
  dashSize?: number;
9
- dashOffset?: number;
10
10
  gapSize?: number;
11
+ linewidth?: number;
11
12
  resolution?: Vector2;
12
- };
13
+ }
13
14
  declare class LineMaterial extends ShaderMaterial {
14
15
  private readonly isLineMaterial;
15
16
  dashed: boolean;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("three");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=n(e);const s=(e=1)=>{const n=new Float32Array(4096*e*4),r=new t.DataTexture(n,1024,4*e,t.RGBAFormat,t.FloatType);return r.wrapS=t.RepeatWrapping,r.wrapT=t.RepeatWrapping,r.magFilter=t.NearestFilter,r.needsUpdate=!0,r},i=(e,t,n=0)=>{const r=Math.floor(1024);t.arcLengthDivisions=r/2,t.updateArcLengths();const s=t.getSpacedPoints(r),i=t.computeFrenetFrames(r,!0);for(let t=0;t<r;t++){const r=Math.floor(t/1024),o=t%1024;let f=s[t];a(e,o,f.x,f.y,f.z,0+r+4*n),f=i.tangents[t],a(e,o,f.x,f.y,f.z,1+r+4*n),f=i.normals[t],a(e,o,f.x,f.y,f.z,2+r+4*n),f=i.binormals[t],a(e,o,f.x,f.y,f.z,3+r+4*n)}e.needsUpdate=!0},a=(e,t,n,r,s,i)=>{const a=e.image,{data:o}=a,f=4096*i;o[4*t+f+0]=n,o[4*t+f+1]=r,o[4*t+f+2]=s,o[4*t+f+3]=1};function o(e){return{spineTexture:{value:e},pathOffset:{type:"f",value:0},pathSegment:{type:"f",value:1},spineOffset:{type:"f",value:161},spineLength:{type:"f",value:400},flow:{type:"i",value:1}}}function f(e,t,n=1){e.__ok||(e.__ok=!0,e.onBeforeCompile=e=>{if(e.__modified)return;e.__modified=!0,Object.assign(e.uniforms,t);const r=`\n\t\tuniform sampler2D spineTexture;\n\t\tuniform float pathOffset;\n\t\tuniform float pathSegment;\n\t\tuniform float spineOffset;\n\t\tuniform float spineLength;\n\t\tuniform int flow;\n\n\t\tfloat textureLayers = ${4*n}.;\n\t\tfloat textureStacks = 1.;\n\n\t\t${e.vertexShader}\n\t\t`.replace("#include <beginnormal_vertex>","").replace("#include <defaultnormal_vertex>","").replace("#include <begin_vertex>","").replace(/void\s*main\s*\(\)\s*\{/,"\n void main() {\n #include <beginnormal_vertex>\n\n vec4 worldPos = modelMatrix * vec4(position, 1.);\n\n bool bend = flow > 0;\n float xWeight = bend ? 0. : 1.;\n\n #ifdef USE_INSTANCING\n float pathOffsetFromInstanceMatrix = instanceMatrix[3][2];\n float spineLengthFromInstanceMatrix = instanceMatrix[3][0];\n float spinePortion = bend ? (worldPos.x + spineOffset) / spineLengthFromInstanceMatrix : 0.;\n float mt = (spinePortion * pathSegment + pathOffset + pathOffsetFromInstanceMatrix)*textureStacks;\n #else\n float spinePortion = bend ? (worldPos.x + spineOffset) / spineLength : 0.;\n float mt = (spinePortion * pathSegment + pathOffset)*textureStacks;\n #endif\n\n mt = mod(mt, textureStacks);\n float rowOffset = floor(mt);\n\n #ifdef USE_INSTANCING\n rowOffset += instanceMatrix[3][1] * 4.;\n #endif\n\n vec3 spinePos = texture2D(spineTexture, vec2(mt, (0. + rowOffset + 0.5) / textureLayers)).xyz;\n vec3 a = texture2D(spineTexture, vec2(mt, (1. + rowOffset + 0.5) / textureLayers)).xyz;\n vec3 b = texture2D(spineTexture, vec2(mt, (2. + rowOffset + 0.5) / textureLayers)).xyz;\n vec3 c = texture2D(spineTexture, vec2(mt, (3. + rowOffset + 0.5) / textureLayers)).xyz;\n mat3 basis = mat3(a, b, c);\n\n vec3 transformed = basis\n * vec3(worldPos.x * xWeight, worldPos.y * 1., worldPos.z * 1.)\n + spinePos;\n\n vec3 transformedNormal = normalMatrix * (basis * objectNormal);\n\t\t\t").replace("#include <project_vertex>","vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\n\t\t\t\tgl_Position = projectionMatrix * mvPosition;");e.vertexShader=r})}class l{constructor(e,n=1){r.default(this,"curveArray",void 0),r.default(this,"curveLengthArray",void 0),r.default(this,"object3D",void 0),r.default(this,"splineTexure",void 0),r.default(this,"uniforms",void 0);const i=e.clone(),a=s(n),l=o(a);i.traverse((e=>{(e instanceof t.Mesh||e instanceof t.InstancedMesh)&&(e.material=e.material.clone(),f(e.material,l,n))})),this.curveArray=new Array(n),this.curveLengthArray=new Array(n),this.object3D=i,this.splineTexure=a,this.uniforms=l}updateCurve(e,t){if(e>=this.curveArray.length)throw Error("Index out of range for Flow");const n=t.getLength();this.uniforms.spineLength.value=n,this.curveLengthArray[e]=n,this.curveArray[e]=t,i(this.splineTexure,t,e)}moveAlongCurve(e){this.uniforms.pathOffset.value+=e}}const u=new t.Matrix4;exports.Flow=l,exports.InstancedFlow=class extends l{constructor(e,n,s,i){const a=new t.InstancedMesh(s,i,e);a.instanceMatrix.setUsage(t.DynamicDrawUsage),super(a,n),r.default(this,"offsets",void 0),r.default(this,"whichCurve",void 0),this.offsets=new Array(e).fill(0),this.whichCurve=new Array(e).fill(0)}writeChanges(e){u.makeTranslation(this.curveLengthArray[this.whichCurve[e]],this.whichCurve[e],this.offsets[e]),this.object3D.setMatrixAt(e,u),this.object3D.instanceMatrix.needsUpdate=!0}moveIndividualAlongCurve(e,t){this.offsets[e]+=t,this.writeChanges(e)}setCurve(e,t){if(isNaN(t))throw Error("curve index being set is Not a Number (NaN)");this.whichCurve[e]=t,this.writeChanges(e)}},exports.getUniforms=o,exports.initSplineTexture=s,exports.modifyShader=f,exports.updateSplineTexture=i;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@babel/runtime/helpers/defineProperty"),t=require("three");function n(e){return e&&"object"==typeof e&&"default"in e?e:{default:e}}var r=n(e);const s=(e=1)=>{const n=new Float32Array(4096*e*4),r=new t.DataTexture(n,1024,4*e,t.RGBAFormat,t.FloatType);return r.wrapS=t.RepeatWrapping,r.wrapT=t.RepeatWrapping,r.magFilter=t.NearestFilter,r.needsUpdate=!0,r},i=(e,t,n=0)=>{const r=Math.floor(1024);t.arcLengthDivisions=r/2,t.updateArcLengths();const s=t.getSpacedPoints(r),i=t.computeFrenetFrames(r,!0);for(let t=0;t<r;t++){const r=Math.floor(t/1024),o=t%1024;let f=s[t];a(e,o,f.x,f.y,f.z,0+r+4*n),f=i.tangents[t],a(e,o,f.x,f.y,f.z,1+r+4*n),f=i.normals[t],a(e,o,f.x,f.y,f.z,2+r+4*n),f=i.binormals[t],a(e,o,f.x,f.y,f.z,3+r+4*n)}e.needsUpdate=!0},a=(e,t,n,r,s,i)=>{const a=e.image,{data:o}=a,f=4096*i;o[4*t+f+0]=n,o[4*t+f+1]=r,o[4*t+f+2]=s,o[4*t+f+3]=1},o=e=>({spineTexture:{value:e},pathOffset:{type:"f",value:0},pathSegment:{type:"f",value:1},spineOffset:{type:"f",value:161},spineLength:{type:"f",value:400},flow:{type:"i",value:1}});function f(e,t,n=1){e.__ok||(e.__ok=!0,e.onBeforeCompile=e=>{if(e.__modified)return;e.__modified=!0,Object.assign(e.uniforms,t);const r=`\n\t\tuniform sampler2D spineTexture;\n\t\tuniform float pathOffset;\n\t\tuniform float pathSegment;\n\t\tuniform float spineOffset;\n\t\tuniform float spineLength;\n\t\tuniform int flow;\n\n\t\tfloat textureLayers = ${4*n}.;\n\t\tfloat textureStacks = 1.;\n\n\t\t${e.vertexShader}\n\t\t`.replace("#include <beginnormal_vertex>","").replace("#include <defaultnormal_vertex>","").replace("#include <begin_vertex>","").replace(/void\s*main\s*\(\)\s*\{/,"\n void main() {\n #include <beginnormal_vertex>\n\n vec4 worldPos = modelMatrix * vec4(position, 1.);\n\n bool bend = flow > 0;\n float xWeight = bend ? 0. : 1.;\n\n #ifdef USE_INSTANCING\n float pathOffsetFromInstanceMatrix = instanceMatrix[3][2];\n float spineLengthFromInstanceMatrix = instanceMatrix[3][0];\n float spinePortion = bend ? (worldPos.x + spineOffset) / spineLengthFromInstanceMatrix : 0.;\n float mt = (spinePortion * pathSegment + pathOffset + pathOffsetFromInstanceMatrix)*textureStacks;\n #else\n float spinePortion = bend ? (worldPos.x + spineOffset) / spineLength : 0.;\n float mt = (spinePortion * pathSegment + pathOffset)*textureStacks;\n #endif\n\n mt = mod(mt, textureStacks);\n float rowOffset = floor(mt);\n\n #ifdef USE_INSTANCING\n rowOffset += instanceMatrix[3][1] * 4.;\n #endif\n\n vec3 spinePos = texture2D(spineTexture, vec2(mt, (0. + rowOffset + 0.5) / textureLayers)).xyz;\n vec3 a = texture2D(spineTexture, vec2(mt, (1. + rowOffset + 0.5) / textureLayers)).xyz;\n vec3 b = texture2D(spineTexture, vec2(mt, (2. + rowOffset + 0.5) / textureLayers)).xyz;\n vec3 c = texture2D(spineTexture, vec2(mt, (3. + rowOffset + 0.5) / textureLayers)).xyz;\n mat3 basis = mat3(a, b, c);\n\n vec3 transformed = basis\n * vec3(worldPos.x * xWeight, worldPos.y * 1., worldPos.z * 1.)\n + spinePos;\n\n vec3 transformedNormal = normalMatrix * (basis * objectNormal);\n\t\t\t").replace("#include <project_vertex>","vec4 mvPosition = modelViewMatrix * vec4( transformed, 1.0 );\n\t\t\t\tgl_Position = projectionMatrix * mvPosition;");e.vertexShader=r})}class l{constructor(e,n=1){r.default(this,"curveArray",void 0),r.default(this,"curveLengthArray",void 0),r.default(this,"object3D",void 0),r.default(this,"splineTexure",void 0),r.default(this,"uniforms",void 0);const i=e.clone(),a=s(n),l=o(a);i.traverse((e=>{(e instanceof t.Mesh||e instanceof t.InstancedMesh)&&(e.material=e.material.clone(),f(e.material,l,n))})),this.curveArray=new Array(n),this.curveLengthArray=new Array(n),this.object3D=i,this.splineTexure=a,this.uniforms=l}updateCurve(e,t){if(e>=this.curveArray.length)throw Error("Index out of range for Flow");const n=t.getLength();this.uniforms.spineLength.value=n,this.curveLengthArray[e]=n,this.curveArray[e]=t,i(this.splineTexure,t,e)}moveAlongCurve(e){this.uniforms.pathOffset.value+=e}}const u=new t.Matrix4;exports.Flow=l,exports.InstancedFlow=class extends l{constructor(e,n,s,i){const a=new t.InstancedMesh(s,i,e);a.instanceMatrix.setUsage(t.DynamicDrawUsage),super(a,n),r.default(this,"offsets",void 0),r.default(this,"whichCurve",void 0),this.offsets=new Array(e).fill(0),this.whichCurve=new Array(e).fill(0)}writeChanges(e){u.makeTranslation(this.curveLengthArray[this.whichCurve[e]],this.whichCurve[e],this.offsets[e]),this.object3D.setMatrixAt(e,u),this.object3D.instanceMatrix.needsUpdate=!0}moveIndividualAlongCurve(e,t){this.offsets[e]+=t,this.writeChanges(e)}setCurve(e,t){if(isNaN(t))throw Error("curve index being set is Not a Number (NaN)");this.whichCurve[e]=t,this.writeChanges(e)}},exports.getUniforms=o,exports.initSplineTexture=s,exports.modifyShader=f,exports.updateSplineTexture=i;
@@ -1,16 +1,20 @@
1
1
  import { DataTexture, Mesh, InstancedMesh, Material, Curve, BufferGeometry } from 'three';
2
- import { TUniform } from 'types/shared';
2
+ import type { IUniform } from 'three';
3
3
  export declare const initSplineTexture: (numberOfCurves?: number) => DataTexture;
4
4
  export declare const updateSplineTexture: <TCurve extends Curve<any>>(texture: DataTexture, splineCurve: TCurve, offset?: number) => void;
5
- export interface CurveModifierUniforms {
6
- spineTexture: TUniform<DataTexture>;
7
- pathOffset: TUniform<number>;
8
- pathSegment: TUniform<number>;
9
- spineOffset: TUniform<number>;
10
- spineLength: TUniform<number>;
11
- flow: TUniform<number>;
5
+ export interface INumericUniform extends IUniform {
6
+ type: 'f' | 'i';
7
+ value: number;
12
8
  }
13
- export declare function getUniforms(splineTexture: DataTexture): CurveModifierUniforms;
9
+ export declare type CurveModifierUniforms = {
10
+ spineTexture: IUniform<DataTexture>;
11
+ pathOffset: INumericUniform;
12
+ pathSegment: INumericUniform;
13
+ spineOffset: INumericUniform;
14
+ spineLength: INumericUniform;
15
+ flow: INumericUniform;
16
+ };
17
+ export declare const getUniforms: (splineTexture: DataTexture) => CurveModifierUniforms;
14
18
  export declare type ModifiedMaterial<TMaterial extends Material> = TMaterial & {
15
19
  __ok: boolean;
16
20
  };
@@ -69,36 +69,33 @@ const setTextureValue = (texture, index, x, y, z, o) => {
69
69
  *
70
70
  * @param { DataTexture } Texture which holds the curve description
71
71
  */
72
- function getUniforms(splineTexture) {
73
- const uniforms = {
74
- spineTexture: {
75
- value: splineTexture
76
- },
77
- pathOffset: {
78
- type: 'f',
79
- value: 0
80
- },
81
- // time of path curve
82
- pathSegment: {
83
- type: 'f',
84
- value: 1
85
- },
86
- // fractional length of path
87
- spineOffset: {
88
- type: 'f',
89
- value: 161
90
- },
91
- spineLength: {
92
- type: 'f',
93
- value: 400
94
- },
95
- flow: {
96
- type: 'i',
97
- value: 1
98
- }
99
- };
100
- return uniforms;
101
- }
72
+ const getUniforms = splineTexture => ({
73
+ spineTexture: {
74
+ value: splineTexture
75
+ },
76
+ pathOffset: {
77
+ type: 'f',
78
+ value: 0
79
+ },
80
+ // time of path curve
81
+ pathSegment: {
82
+ type: 'f',
83
+ value: 1
84
+ },
85
+ // fractional length of path
86
+ spineOffset: {
87
+ type: 'f',
88
+ value: 161
89
+ },
90
+ spineLength: {
91
+ type: 'f',
92
+ value: 400
93
+ },
94
+ flow: {
95
+ type: 'i',
96
+ value: 1
97
+ }
98
+ });
102
99
  function modifyShader(material, uniforms, numberOfCurves = 1) {
103
100
  if (material.__ok) return;
104
101
  material.__ok = true;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three");class e extends t.Mesh{constructor(){super(e.Geometry,new t.MeshBasicMaterial({opacity:0,transparent:!0})),this.type="Lensflare",this.frustumCulled=!1,this.renderOrder=1/0;const i=new t.Vector3,r=new t.Vector3,o=new t.FramebufferTexture(16,16,t.RGBAFormat),s=new t.FramebufferTexture(16,16,t.RGBAFormat),a=e.Geometry,l=new t.RawShaderMaterial({uniforms:{scale:{value:null},screenPosition:{value:null}},vertexShader:"\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}",fragmentShader:"\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 );\n\n\t\t\t\t}",depthTest:!0,depthWrite:!1,transparent:!1}),c=new t.RawShaderMaterial({uniforms:{map:{value:o},scale:{value:null},screenPosition:{value:null}},vertexShader:"\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\t\t\t\tattribute vec2 uv;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvUV = uv;\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}",fragmentShader:"\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform sampler2D map;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = texture2D( map, vUV );\n\n\t\t\t\t}",depthTest:!1,depthWrite:!1,transparent:!1}),u=new t.Mesh(a,l),v=[],p=n.Shader,f=new t.RawShaderMaterial({uniforms:{map:{value:null},occlusionMap:{value:s},color:{value:new t.Color(16777215)},scale:{value:new t.Vector2},screenPosition:{value:new t.Vector3}},vertexShader:p.vertexShader,fragmentShader:p.fragmentShader,blending:t.AdditiveBlending,transparent:!0,depthWrite:!1}),d=new t.Mesh(a,f);this.addElement=function(t){v.push(t)};const m=new t.Vector2,x=new t.Vector2,y=new t.Box2,h=new t.Vector4;this.onBeforeRender=function(t,e,n){t.getCurrentViewport(h);const p=h.w/h.z,b=h.z/2,g=h.w/2;let w=16/h.w;if(m.set(w*p,w),y.min.set(h.x,h.y),y.max.set(h.x+(h.z-16),h.y+(h.w-16)),r.setFromMatrixPosition(this.matrixWorld),r.applyMatrix4(n.matrixWorldInverse),!(r.z>0)&&(i.copy(r).applyMatrix4(n.projectionMatrix),x.x=h.x+i.x*b+b-8,x.y=h.y+i.y*g+g-8,y.containsPoint(x))){t.copyFramebufferToTexture(x,o);let e=l.uniforms;e.scale.value=m,e.screenPosition.value=i,t.renderBufferDirect(n,null,a,l,u,null),t.copyFramebufferToTexture(x,s),e=c.uniforms,e.scale.value=m,e.screenPosition.value=i,t.renderBufferDirect(n,null,a,c,u,null);const r=2*-i.x,p=2*-i.y;for(let e=0,o=v.length;e<o;e++){const o=v[e],s=f.uniforms;s.color.value.copy(o.color),s.map.value=o.texture,s.screenPosition.value.x=i.x+r*o.distance,s.screenPosition.value.y=i.y+p*o.distance,w=o.size/h.w;const l=h.w/h.z;s.scale.value.set(w*l,w),f.uniformsNeedUpdate=!0,t.renderBufferDirect(n,null,a,f,d,null)}}},this.dispose=function(){l.dispose(),c.dispose(),f.dispose(),o.dispose(),s.dispose();for(let t=0,e=v.length;t<e;t++)v[t].texture.dispose()}}}e.prototype.isLensflare=!0;class n{constructor(e,n=1,i=0,r=new t.Color(16777215)){this.texture=e,this.size=n,this.distance=i,this.color=r}}n.Shader={uniforms:{map:{value:null},occlusionMap:{value:null},color:{value:null},scale:{value:null},screenPosition:{value:null}},vertexShader:"\n\n\t\tprecision highp float;\n\n\t\tuniform vec3 screenPosition;\n\t\tuniform vec2 scale;\n\n\t\tuniform sampler2D occlusionMap;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\n\t\tvarying vec2 vUV;\n\t\tvarying float vVisibility;\n\n\t\tvoid main() {\n\n\t\t\tvUV = uv;\n\n\t\t\tvec2 pos = position.xy;\n\n\t\t\tvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\n\n\t\t\tvVisibility = visibility.r / 9.0;\n\t\t\tvVisibility *= 1.0 - visibility.g / 9.0;\n\t\t\tvVisibility *= visibility.b / 9.0;\n\n\t\t\tgl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tprecision highp float;\n\n\t\tuniform sampler2D map;\n\t\tuniform vec3 color;\n\n\t\tvarying vec2 vUV;\n\t\tvarying float vVisibility;\n\n\t\tvoid main() {\n\n\t\t\tvec4 texture = texture2D( map, vUV );\n\t\t\ttexture.a *= vVisibility;\n\t\t\tgl_FragColor = texture;\n\t\t\tgl_FragColor.rgb *= color;\n\n\t\t}"},e.Geometry=function(){const e=new t.BufferGeometry,n=new Float32Array([-1,-1,0,0,0,1,-1,0,1,0,1,1,0,1,1,-1,1,0,0,1]),i=new t.InterleavedBuffer(n,5);return e.setIndex([0,1,2,0,2,3]),e.setAttribute("position",new t.InterleavedBufferAttribute(i,3,0,!1)),e.setAttribute("uv",new t.InterleavedBufferAttribute(i,2,3,!1)),e}(),exports.Lensflare=e,exports.LensflareElement=n;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t=require("three");class e extends t.Mesh{constructor(){super(e.Geometry,new t.MeshBasicMaterial({opacity:0,transparent:!0})),this.type="Lensflare",this.frustumCulled=!1,this.renderOrder=1/0;const i=new t.Vector3,r=new t.Vector3,o=new t.DataTexture(new Uint8Array(768),16,16,t.RGBAFormat);o.minFilter=t.NearestFilter,o.magFilter=t.NearestFilter,o.wrapS=t.ClampToEdgeWrapping,o.wrapT=t.ClampToEdgeWrapping;const s=new t.DataTexture(new Uint8Array(768),16,16,t.RGBAFormat);s.minFilter=t.NearestFilter,s.magFilter=t.NearestFilter,s.wrapS=t.ClampToEdgeWrapping,s.wrapT=t.ClampToEdgeWrapping;const a=e.Geometry,l=new t.RawShaderMaterial({uniforms:{scale:{value:null},screenPosition:{value:null}},vertexShader:"\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}",fragmentShader:"\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = vec4( 1.0, 0.0, 1.0, 1.0 );\n\n\t\t\t\t}",depthTest:!0,depthWrite:!1,transparent:!1}),c=new t.RawShaderMaterial({uniforms:{map:{value:o},scale:{value:null},screenPosition:{value:null}},vertexShader:"\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform vec3 screenPosition;\n\t\t\t\tuniform vec2 scale;\n\n\t\t\t\tattribute vec3 position;\n\t\t\t\tattribute vec2 uv;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tvUV = uv;\n\n\t\t\t\t\tgl_Position = vec4( position.xy * scale + screenPosition.xy, screenPosition.z, 1.0 );\n\n\t\t\t\t}",fragmentShader:"\n\n\t\t\t\tprecision highp float;\n\n\t\t\t\tuniform sampler2D map;\n\n\t\t\t\tvarying vec2 vUV;\n\n\t\t\t\tvoid main() {\n\n\t\t\t\t\tgl_FragColor = texture2D( map, vUV );\n\n\t\t\t\t}",depthTest:!1,depthWrite:!1,transparent:!1}),u=new t.Mesh(a,l),v=[],p=n.Shader,d=new t.RawShaderMaterial({uniforms:{map:{value:null},occlusionMap:{value:s},color:{value:new t.Color(16777215)},scale:{value:new t.Vector2},screenPosition:{value:new t.Vector3}},vertexShader:p.vertexShader,fragmentShader:p.fragmentShader,blending:t.AdditiveBlending,transparent:!0,depthWrite:!1}),m=new t.Mesh(a,d);this.addElement=function(t){v.push(t)};const f=new t.Vector2,y=new t.Vector2,x=new t.Box2,h=new t.Vector4;this.onBeforeRender=function(t,e,n){t.getCurrentViewport(h);const p=h.w/h.z,g=h.z/2,w=h.w/2;let b=16/h.w;if(f.set(b*p,b),x.min.set(h.x,h.y),x.max.set(h.x+(h.z-16),h.y+(h.w-16)),r.setFromMatrixPosition(this.matrixWorld),r.applyMatrix4(n.matrixWorldInverse),!(r.z>0)&&(i.copy(r).applyMatrix4(n.projectionMatrix),y.x=h.x+i.x*g+g-8,y.y=h.y+i.y*w+w-8,x.containsPoint(y))){t.copyFramebufferToTexture(y,o);let e=l.uniforms;e.scale.value=f,e.screenPosition.value=i,t.renderBufferDirect(n,null,a,l,u,null),t.copyFramebufferToTexture(y,s),e=c.uniforms,e.scale.value=f,e.screenPosition.value=i,t.renderBufferDirect(n,null,a,c,u,null);const r=2*-i.x,p=2*-i.y;for(let e=0,o=v.length;e<o;e++){const o=v[e],s=d.uniforms;s.color.value.copy(o.color),s.map.value=o.texture,s.screenPosition.value.x=i.x+r*o.distance,s.screenPosition.value.y=i.y+p*o.distance,b=o.size/h.w;const l=h.w/h.z;s.scale.value.set(b*l,b),d.uniformsNeedUpdate=!0,t.renderBufferDirect(n,null,a,d,m,null)}}},this.dispose=function(){l.dispose(),c.dispose(),d.dispose(),o.dispose(),s.dispose();for(let t=0,e=v.length;t<e;t++)v[t].texture.dispose()}}}e.prototype.isLensflare=!0;class n{constructor(e,n=1,i=0,r=new t.Color(16777215)){this.texture=e,this.size=n,this.distance=i,this.color=r}}n.Shader={uniforms:{map:{value:null},occlusionMap:{value:null},color:{value:null},scale:{value:null},screenPosition:{value:null}},vertexShader:"\n\n\t\tprecision highp float;\n\n\t\tuniform vec3 screenPosition;\n\t\tuniform vec2 scale;\n\n\t\tuniform sampler2D occlusionMap;\n\n\t\tattribute vec3 position;\n\t\tattribute vec2 uv;\n\n\t\tvarying vec2 vUV;\n\t\tvarying float vVisibility;\n\n\t\tvoid main() {\n\n\t\t\tvUV = uv;\n\n\t\t\tvec2 pos = position.xy;\n\n\t\t\tvec4 visibility = texture2D( occlusionMap, vec2( 0.1, 0.1 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.5, 0.1 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.9, 0.1 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.9, 0.5 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.9, 0.9 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.5, 0.9 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.1, 0.9 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.1, 0.5 ) );\n\t\t\tvisibility += texture2D( occlusionMap, vec2( 0.5, 0.5 ) );\n\n\t\t\tvVisibility = visibility.r / 9.0;\n\t\t\tvVisibility *= 1.0 - visibility.g / 9.0;\n\t\t\tvVisibility *= visibility.b / 9.0;\n\n\t\t\tgl_Position = vec4( ( pos * scale + screenPosition.xy ).xy, screenPosition.z, 1.0 );\n\n\t\t}",fragmentShader:"\n\n\t\tprecision highp float;\n\n\t\tuniform sampler2D map;\n\t\tuniform vec3 color;\n\n\t\tvarying vec2 vUV;\n\t\tvarying float vVisibility;\n\n\t\tvoid main() {\n\n\t\t\tvec4 texture = texture2D( map, vUV );\n\t\t\ttexture.a *= vVisibility;\n\t\t\tgl_FragColor = texture;\n\t\t\tgl_FragColor.rgb *= color;\n\n\t\t}"},e.Geometry=function(){const e=new t.BufferGeometry,n=new Float32Array([-1,-1,0,0,0,1,-1,0,1,0,1,1,0,1,1,-1,1,0,0,1]),i=new t.InterleavedBuffer(n,5);return e.setIndex([0,1,2,0,2,3]),e.setAttribute("position",new t.InterleavedBufferAttribute(i,3,0,!1)),e.setAttribute("uv",new t.InterleavedBufferAttribute(i,2,3,!1)),e}(),exports.Lensflare=e,exports.LensflareElement=n;
@@ -1,4 +1,4 @@
1
- import { Mesh, MeshBasicMaterial, Vector3, FramebufferTexture, RGBAFormat, RawShaderMaterial, Color, Vector2, AdditiveBlending, Box2, Vector4, BufferGeometry, InterleavedBuffer, InterleavedBufferAttribute } from 'three';
1
+ import { Mesh, MeshBasicMaterial, Vector3, DataTexture, RGBAFormat, NearestFilter, ClampToEdgeWrapping, RawShaderMaterial, Color, Vector2, AdditiveBlending, Box2, Vector4, BufferGeometry, InterleavedBuffer, InterleavedBufferAttribute } from 'three';
2
2
 
3
3
  class Lensflare extends Mesh {
4
4
  constructor() {
@@ -13,8 +13,16 @@ class Lensflare extends Mesh {
13
13
  const positionScreen = new Vector3();
14
14
  const positionView = new Vector3(); // textures
15
15
 
16
- const tempMap = new FramebufferTexture(16, 16, RGBAFormat);
17
- const occlusionMap = new FramebufferTexture(16, 16, RGBAFormat); // material
16
+ const tempMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat);
17
+ tempMap.minFilter = NearestFilter;
18
+ tempMap.magFilter = NearestFilter;
19
+ tempMap.wrapS = ClampToEdgeWrapping;
20
+ tempMap.wrapT = ClampToEdgeWrapping;
21
+ const occlusionMap = new DataTexture(new Uint8Array(16 * 16 * 3), 16, 16, RGBAFormat);
22
+ occlusionMap.minFilter = NearestFilter;
23
+ occlusionMap.magFilter = NearestFilter;
24
+ occlusionMap.wrapS = ClampToEdgeWrapping;
25
+ occlusionMap.wrapT = ClampToEdgeWrapping; // material
18
26
 
19
27
  const geometry = Lensflare.Geometry;
20
28
  const material1a = new RawShaderMaterial({
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "three-stdlib",
3
- "version": "2.8.11",
3
+ "version": "2.8.12",
4
4
  "private": false,
5
5
  "description": "stand-alone library of threejs examples",
6
6
  "main": "index.cjs.js",
@@ -32,6 +32,6 @@
32
32
  "zstddec": "^0.0.2"
33
33
  },
34
34
  "peerDependencies": {
35
- "three": ">=0.137.0"
35
+ "three": ">=0.122.0"
36
36
  }
37
37
  }
@@ -1,42 +1,14 @@
1
1
  import { MeshBasicMaterial, WebGLRenderer, ShaderMaterial, WebGLRenderTarget } from 'three';
2
2
  import { Pass, FullScreenQuad } from './Pass';
3
3
  declare class AfterimagePass extends Pass {
4
- shader: {
5
- uniforms: {
6
- damp: {
7
- value: number;
8
- };
9
- tOld: {
10
- value: null;
11
- };
12
- tNew: {
13
- value: null;
14
- };
15
- };
16
- vertexShader: string;
17
- fragmentShader: string;
18
- };
4
+ shader: import("../shaders/AfterimageShader").IAfterimageShader;
19
5
  uniforms: any;
20
6
  textureComp: WebGLRenderTarget;
21
7
  textureOld: WebGLRenderTarget;
22
8
  shaderMaterial: ShaderMaterial;
23
9
  compFsQuad: FullScreenQuad<ShaderMaterial>;
24
10
  copyFsQuad: FullScreenQuad<MeshBasicMaterial>;
25
- constructor(damp?: number, shader?: {
26
- uniforms: {
27
- damp: {
28
- value: number;
29
- };
30
- tOld: {
31
- value: null;
32
- };
33
- tNew: {
34
- value: null;
35
- };
36
- };
37
- vertexShader: string;
38
- fragmentShader: string;
39
- });
11
+ constructor(damp?: number, shader?: import("../shaders/AfterimageShader").IAfterimageShader);
40
12
  render(renderer: WebGLRenderer, writeBuffer: WebGLRenderTarget, readBuffer: WebGLRenderTarget): void;
41
13
  setSize(width: number, height: number): void;
42
14
  }
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var t={uniforms:{tDiffuse:{value:null},exposure:{value:1}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["#define saturate(a) clamp( a, 0.0, 1.0 )","uniform sampler2D tDiffuse;","uniform float exposure;","varying vec2 vUv;","vec3 RRTAndODTFit( vec3 v ) {","\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;","\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;","\treturn a / b;","}","vec3 ACESFilmicToneMapping( vec3 color ) {","\tconst mat3 ACESInputMat = mat3(","\t\tvec3( 0.59719, 0.07600, 0.02840 ),","\t\tvec3( 0.35458, 0.90834, 0.13383 ),","\t\tvec3( 0.04823, 0.01566, 0.83777 )","\t);","\tconst mat3 ACESOutputMat = mat3(","\t\tvec3( 1.60475, -0.10208, -0.00327 ),","\t\tvec3( -0.53108, 1.10813, -0.07276 ),","\t\tvec3( -0.07367, -0.00605, 1.07602 )","\t);","\tcolor = ACESInputMat * color;","\tcolor = RRTAndODTFit( color );","\tcolor = ACESOutputMat * color;","\treturn saturate( color );","}","void main() {","\tvec4 tex = texture2D( tDiffuse, vUv );","\ttex.rgb *= exposure / 0.6;","\tgl_FragColor = vec4( ACESFilmicToneMapping( tex.rgb ), tex.a );","}"].join("\n")};exports.ACESFilmicToneMappingShader=t;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const t={uniforms:{tDiffuse:{value:null},exposure:{value:1}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["#define saturate(a) clamp( a, 0.0, 1.0 )","uniform sampler2D tDiffuse;","uniform float exposure;","varying vec2 vUv;","vec3 RRTAndODTFit( vec3 v ) {","\tvec3 a = v * ( v + 0.0245786 ) - 0.000090537;","\tvec3 b = v * ( 0.983729 * v + 0.4329510 ) + 0.238081;","\treturn a / b;","}","vec3 ACESFilmicToneMapping( vec3 color ) {","\tconst mat3 ACESInputMat = mat3(","\t\tvec3( 0.59719, 0.07600, 0.02840 ),","\t\tvec3( 0.35458, 0.90834, 0.13383 ),","\t\tvec3( 0.04823, 0.01566, 0.83777 )","\t);","\tconst mat3 ACESOutputMat = mat3(","\t\tvec3( 1.60475, -0.10208, -0.00327 ),","\t\tvec3( -0.53108, 1.10813, -0.07276 ),","\t\tvec3( -0.07367, -0.00605, 1.07602 )","\t);","\tcolor = ACESInputMat * color;","\tcolor = RRTAndODTFit( color );","\tcolor = ACESOutputMat * color;","\treturn saturate( color );","}","void main() {","\tvec4 tex = texture2D( tDiffuse, vUv );","\ttex.rgb *= exposure / 0.6;","\tgl_FragColor = vec4( ACESFilmicToneMapping( tex.rgb ), tex.a );","}"].join("\n")};exports.ACESFilmicToneMappingShader=t;
@@ -0,0 +1,9 @@
1
+ import type { IUniform, Texture } from 'three';
2
+ import type { IShader } from './types';
3
+ export declare type ACESFilmicToneMappingShaderUniforms = {
4
+ exposure: IUniform<number>;
5
+ tDiffuse: IUniform<Texture | null>;
6
+ };
7
+ export interface IACESFilmicToneMappingShader extends IShader<ACESFilmicToneMappingShaderUniforms> {
8
+ }
9
+ export declare const ACESFilmicToneMappingShader: IACESFilmicToneMappingShader;
@@ -5,7 +5,7 @@
5
5
  * this implementation of ACES is modified to accommodate a brighter viewing environment.
6
6
  * the scale factor of 1/0.6 is subjective. see discussion in #19621.
7
7
  */
8
- var ACESFilmicToneMappingShader = {
8
+ const ACESFilmicToneMappingShader = {
9
9
  uniforms: {
10
10
  tDiffuse: {
11
11
  value: null
@@ -1,16 +1,10 @@
1
- declare const AfterimageShader: {
2
- uniforms: {
3
- damp: {
4
- value: number;
5
- };
6
- tOld: {
7
- value: null;
8
- };
9
- tNew: {
10
- value: null;
11
- };
12
- };
13
- vertexShader: string;
14
- fragmentShader: string;
1
+ import type { IUniform, Texture } from 'three';
2
+ import type { IShader } from './types';
3
+ export declare type AfterimageShaderUniforms = {
4
+ damp: IUniform<number>;
5
+ tNew: IUniform<Texture | null>;
6
+ tOld: IUniform<Texture | null>;
15
7
  };
16
- export { AfterimageShader };
8
+ export interface IAfterimageShader extends IShader<AfterimageShaderUniforms> {
9
+ }
10
+ export declare const AfterimageShader: IAfterimageShader;
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e={uniforms:{},vertexShader:["void main() {","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["void main() {","\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );","}"].join("\n")};exports.BasicShader=e;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e={uniforms:{},vertexShader:["void main() {","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["void main() {","\tgl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );","}"].join("\n")};exports.BasicShader=e;
@@ -1,5 +1,5 @@
1
- export const BasicShader: {
2
- uniforms: {};
3
- vertexShader: string;
4
- fragmentShader: string;
5
- };
1
+ import type { IShader } from './types';
2
+ export declare type BasicShaderUniforms = {};
3
+ export interface IBasicShader extends IShader<BasicShaderUniforms> {
4
+ }
5
+ export declare const BasicShader: IBasicShader;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Simple test shader
3
3
  */
4
- var BasicShader = {
4
+ const BasicShader = {
5
5
  uniforms: {},
6
6
  vertexShader: ['void main() {', ' gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );', '}'].join('\n'),
7
7
  fragmentShader: ['void main() {', ' gl_FragColor = vec4( 1.0, 0.0, 0.0, 0.5 );', '}'].join('\n')
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e={uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform float opacity;","uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","\tvec4 base = texture2D( tDiffuse, vUv );","\tvec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );","\tfloat lum = dot( lumCoeff, base.rgb );","\tvec3 blend = vec3( lum );","\tfloat L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );","\tvec3 result1 = 2.0 * base.rgb * blend;","\tvec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );","\tvec3 newColor = mix( result1, result2, L );","\tfloat A2 = opacity * base.a;","\tvec3 mixRGB = A2 * newColor.rgb;","\tmixRGB += ( ( 1.0 - A2 ) * base.rgb );","\tgl_FragColor = vec4( mixRGB, base.a );","}"].join("\n")};exports.BleachBypassShader=e;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e={uniforms:{tDiffuse:{value:null},opacity:{value:1}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform float opacity;","uniform sampler2D tDiffuse;","varying vec2 vUv;","void main() {","\tvec4 base = texture2D( tDiffuse, vUv );","\tvec3 lumCoeff = vec3( 0.25, 0.65, 0.1 );","\tfloat lum = dot( lumCoeff, base.rgb );","\tvec3 blend = vec3( lum );","\tfloat L = min( 1.0, max( 0.0, 10.0 * ( lum - 0.45 ) ) );","\tvec3 result1 = 2.0 * base.rgb * blend;","\tvec3 result2 = 1.0 - 2.0 * ( 1.0 - blend ) * ( 1.0 - base.rgb );","\tvec3 newColor = mix( result1, result2, L );","\tfloat A2 = opacity * base.a;","\tvec3 mixRGB = A2 * newColor.rgb;","\tmixRGB += ( ( 1.0 - A2 ) * base.rgb );","\tgl_FragColor = vec4( mixRGB, base.a );","}"].join("\n")};exports.BleachBypassShader=e;
@@ -1,10 +1,9 @@
1
- import { Uniform } from 'three';
2
-
3
- export const BleachBypassShader: {
4
- uniforms: {
5
- tDiffuse: Uniform;
6
- opacity: Uniform;
7
- };
8
- vertexShader: string;
9
- fragmentShader: string;
1
+ import type { IUniform, Texture } from 'three';
2
+ import type { IShader } from './types';
3
+ export declare type BleachBypassShaderUniforms = {
4
+ opacity: IUniform<number>;
5
+ tDiffuse: IUniform<Texture | null>;
10
6
  };
7
+ export interface IBleachBypassShader extends IShader<BleachBypassShaderUniforms> {
8
+ }
9
+ export declare const BleachBypassShader: IBleachBypassShader;
@@ -3,7 +3,7 @@
3
3
  * - based on Nvidia example
4
4
  * http://developer.download.nvidia.com/shaderlibrary/webpages/shader_library.html#post_bleach_bypass
5
5
  */
6
- var BleachBypassShader = {
6
+ const BleachBypassShader = {
7
7
  uniforms: {
8
8
  tDiffuse: {
9
9
  value: null
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e={uniforms:{tDiffuse1:{value:null},tDiffuse2:{value:null},mixRatio:{value:.5},opacity:{value:1}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform float opacity;","uniform float mixRatio;","uniform sampler2D tDiffuse1;","uniform sampler2D tDiffuse2;","varying vec2 vUv;","void main() {","\tvec4 texel1 = texture2D( tDiffuse1, vUv );","\tvec4 texel2 = texture2D( tDiffuse2, vUv );","\tgl_FragColor = opacity * mix( texel1, texel2, mixRatio );","}"].join("\n")};exports.BlendShader=e;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});const e={uniforms:{tDiffuse1:{value:null},tDiffuse2:{value:null},mixRatio:{value:.5},opacity:{value:1}},vertexShader:["varying vec2 vUv;","void main() {","\tvUv = uv;","\tgl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );","}"].join("\n"),fragmentShader:["uniform float opacity;","uniform float mixRatio;","uniform sampler2D tDiffuse1;","uniform sampler2D tDiffuse2;","varying vec2 vUv;","void main() {","\tvec4 texel1 = texture2D( tDiffuse1, vUv );","\tvec4 texel2 = texture2D( tDiffuse2, vUv );","\tgl_FragColor = opacity * mix( texel1, texel2, mixRatio );","}"].join("\n")};exports.BlendShader=e;
@@ -1,11 +1,17 @@
1
- import { Uniform } from 'three';
2
-
3
- export const BlendShader: {
1
+ export declare const BlendShader: {
4
2
  uniforms: {
5
- tDiffuse1: Uniform;
6
- tDiffuse2: Uniform;
7
- mixRatio: Uniform;
8
- opacity: Uniform;
3
+ tDiffuse1: {
4
+ value: null;
5
+ };
6
+ tDiffuse2: {
7
+ value: null;
8
+ };
9
+ mixRatio: {
10
+ value: number;
11
+ };
12
+ opacity: {
13
+ value: number;
14
+ };
9
15
  };
10
16
  vertexShader: string;
11
17
  fragmentShader: string;
@@ -1,7 +1,7 @@
1
1
  /**
2
2
  * Blend two textures
3
3
  */
4
- var BlendShader = {
4
+ const BlendShader = {
5
5
  uniforms: {
6
6
  tDiffuse1: {
7
7
  value: null