@next2d/webgpu 3.0.4 → 3.1.0

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 (296) hide show
  1. package/package.json +3 -3
  2. package/src/AtlasManager.d.ts +75 -6
  3. package/src/AtlasManager.js +106 -30
  4. package/src/AttachmentManager/service/AttachmentManagerCreateAttachmentObjectService.d.ts +2 -2
  5. package/src/AttachmentManager/service/AttachmentManagerCreateAttachmentObjectService.js +3 -3
  6. package/src/AttachmentManager/service/AttachmentManagerCreateColorBufferService.d.ts +4 -4
  7. package/src/AttachmentManager/service/AttachmentManagerCreateColorBufferService.js +4 -4
  8. package/src/AttachmentManager/service/AttachmentManagerCreateStencilBufferService.d.ts +5 -5
  9. package/src/AttachmentManager/service/AttachmentManagerCreateStencilBufferService.js +6 -6
  10. package/src/AttachmentManager/service/AttachmentManagerCreateTextureObjectService.d.ts +6 -6
  11. package/src/AttachmentManager/service/AttachmentManagerCreateTextureObjectService.js +7 -7
  12. package/src/AttachmentManager/service/AttachmentManagerGetColorBufferService.d.ts +6 -6
  13. package/src/AttachmentManager/service/AttachmentManagerGetColorBufferService.js +9 -9
  14. package/src/AttachmentManager/service/AttachmentManagerGetStencilBufferService.d.ts +6 -6
  15. package/src/AttachmentManager/service/AttachmentManagerGetStencilBufferService.js +10 -10
  16. package/src/AttachmentManager/service/AttachmentManagerGetTextureService.d.ts +7 -7
  17. package/src/AttachmentManager/service/AttachmentManagerGetTextureService.js +10 -10
  18. package/src/AttachmentManager/service/AttachmentManagerReleaseTextureService.d.ts +3 -3
  19. package/src/AttachmentManager/service/AttachmentManagerReleaseTextureService.js +7 -7
  20. package/src/AttachmentManager/usecase/AttachmentManagerGetAttachmentObjectUseCase.d.ts +10 -10
  21. package/src/AttachmentManager/usecase/AttachmentManagerGetAttachmentObjectUseCase.js +16 -16
  22. package/src/AttachmentManager/usecase/AttachmentManagerReleaseAttachmentUseCase.d.ts +6 -6
  23. package/src/AttachmentManager/usecase/AttachmentManagerReleaseAttachmentUseCase.js +10 -10
  24. package/src/AttachmentManager.d.ts +28 -6
  25. package/src/AttachmentManager.js +28 -23
  26. package/src/BezierConverter/BezierConverter.d.ts +9 -3
  27. package/src/BezierConverter/BezierConverter.js +5 -3
  28. package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.d.ts +2 -13
  29. package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.js +13 -25
  30. package/src/Blend/BlendInstancedManager.d.ts +19 -15
  31. package/src/Blend/BlendInstancedManager.js +35 -22
  32. package/src/Blend/usecase/BlendApplyComplexBlendUseCase.d.ts +9 -2
  33. package/src/Blend/usecase/BlendApplyComplexBlendUseCase.js +28 -17
  34. package/src/Blend.d.ts +20 -2
  35. package/src/Blend.js +20 -4
  36. package/src/BufferManager/service/BufferManagerReleaseUniformBufferService.js +2 -2
  37. package/src/BufferManager/service/BufferManagerReleaseVertexBufferService.js +2 -2
  38. package/src/BufferManager/service/BufferManagerUpdateIndirectBufferService.d.ts +1 -0
  39. package/src/BufferManager/service/BufferManagerUpdateIndirectBufferService.js +1 -0
  40. package/src/BufferManager/usecase/BufferManagerCleanupStorageBuffersUseCase.d.ts +1 -0
  41. package/src/BufferManager/usecase/BufferManagerCleanupStorageBuffersUseCase.js +1 -0
  42. package/src/BufferManager.d.ts +108 -43
  43. package/src/BufferManager.js +113 -153
  44. package/src/Context/service/ContextComputeBitmapMatrixService.d.ts +7 -0
  45. package/src/Context/service/ContextComputeBitmapMatrixService.js +7 -0
  46. package/src/Context/service/ContextComputeGradientMatrixService.d.ts +9 -1
  47. package/src/Context/service/ContextComputeGradientMatrixService.js +15 -7
  48. package/src/Context/service/ContextFillSimpleService.d.ts +14 -0
  49. package/src/Context/service/ContextFillSimpleService.js +14 -0
  50. package/src/Context/service/ContextFillWithStencilMainService.d.ts +11 -0
  51. package/src/Context/service/ContextFillWithStencilMainService.js +11 -0
  52. package/src/Context/service/ContextFillWithStencilService.d.ts +11 -0
  53. package/src/Context/service/ContextFillWithStencilService.js +11 -0
  54. package/src/Context/usecase/ContextApplyFilterUseCase.d.ts +17 -0
  55. package/src/Context/usecase/ContextApplyFilterUseCase.js +201 -62
  56. package/src/Context/usecase/ContextBitmapFillUseCase.d.ts +23 -0
  57. package/src/Context/usecase/ContextBitmapFillUseCase.js +47 -0
  58. package/src/Context/usecase/ContextBitmapStrokeUseCase.d.ts +23 -0
  59. package/src/Context/usecase/ContextBitmapStrokeUseCase.js +35 -0
  60. package/src/Context/usecase/ContextClipUseCase.d.ts +15 -0
  61. package/src/Context/usecase/ContextClipUseCase.js +19 -0
  62. package/src/Context/usecase/ContextContainerEndLayerUseCase.d.ts +21 -1
  63. package/src/Context/usecase/ContextContainerEndLayerUseCase.js +195 -104
  64. package/src/Context/usecase/ContextDrawArraysInstancedUseCase.d.ts +13 -0
  65. package/src/Context/usecase/ContextDrawArraysInstancedUseCase.js +41 -20
  66. package/src/Context/usecase/ContextDrawIndirectUseCase.d.ts +16 -1
  67. package/src/Context/usecase/ContextDrawIndirectUseCase.js +53 -30
  68. package/src/Context/usecase/ContextGradientFillUseCase.d.ts +23 -0
  69. package/src/Context/usecase/ContextGradientFillUseCase.js +47 -0
  70. package/src/Context/usecase/ContextGradientStrokeUseCase.d.ts +23 -0
  71. package/src/Context/usecase/ContextGradientStrokeUseCase.js +35 -0
  72. package/src/Context/usecase/ContextProcessComplexBlendQueueUseCase.d.ts +13 -1
  73. package/src/Context/usecase/ContextProcessComplexBlendQueueUseCase.js +126 -60
  74. package/src/Context.d.ts +445 -63
  75. package/src/Context.js +566 -144
  76. package/src/FillTexturePool.d.ts +39 -0
  77. package/src/FillTexturePool.js +70 -7
  78. package/src/Filter/BevelFilter/FilterApplyBevelFilterUseCase.d.ts +21 -2
  79. package/src/Filter/BevelFilter/FilterApplyBevelFilterUseCase.js +33 -26
  80. package/src/Filter/BlurFilter/FilterApplyBlurFilterUseCase.d.ts +5 -5
  81. package/src/Filter/BlurFilter/FilterApplyBlurFilterUseCase.js +81 -64
  82. package/src/Filter/BlurFilterUseCase.d.ts +15 -11
  83. package/src/Filter/BlurFilterUseCase.js +22 -17
  84. package/src/Filter/ColorMatrixFilter/FilterApplyColorMatrixFilterUseCase.d.ts +2 -2
  85. package/src/Filter/ColorMatrixFilter/FilterApplyColorMatrixFilterUseCase.js +5 -5
  86. package/src/Filter/ConvolutionFilter/FilterApplyConvolutionFilterUseCase.d.ts +15 -1
  87. package/src/Filter/ConvolutionFilter/FilterApplyConvolutionFilterUseCase.js +23 -17
  88. package/src/Filter/DisplacementMapFilter/FilterApplyDisplacementMapFilterUseCase.d.ts +20 -1
  89. package/src/Filter/DisplacementMapFilter/FilterApplyDisplacementMapFilterUseCase.js +37 -26
  90. package/src/Filter/DropShadowFilter/FilterApplyDropShadowFilterUseCase.d.ts +7 -7
  91. package/src/Filter/DropShadowFilter/FilterApplyDropShadowFilterUseCase.js +19 -31
  92. package/src/Filter/FilterGradientLUTCache.js +2 -0
  93. package/src/Filter/FilterUtil.d.ts +23 -0
  94. package/src/Filter/FilterUtil.js +33 -0
  95. package/src/Filter/GlowFilter/FilterApplyGlowFilterUseCase.d.ts +5 -5
  96. package/src/Filter/GlowFilter/FilterApplyGlowFilterUseCase.js +12 -21
  97. package/src/Filter/GradientBevelFilter/FilterApplyGradientBevelFilterUseCase.d.ts +6 -6
  98. package/src/Filter/GradientBevelFilter/FilterApplyGradientBevelFilterUseCase.js +16 -19
  99. package/src/Filter/GradientGlowFilter/FilterApplyGradientGlowFilterUseCase.d.ts +5 -5
  100. package/src/Filter/GradientGlowFilter/FilterApplyGradientGlowFilterUseCase.js +13 -16
  101. package/src/FrameBufferManager/service/FrameBufferManagerCreateRenderPassDescriptorService.d.ts +13 -1
  102. package/src/FrameBufferManager/service/FrameBufferManagerCreateRenderPassDescriptorService.js +30 -3
  103. package/src/FrameBufferManager/service/FrameBufferManagerCreateStencilRenderPassDescriptorService.d.ts +11 -1
  104. package/src/FrameBufferManager/service/FrameBufferManagerCreateStencilRenderPassDescriptorService.js +36 -6
  105. package/src/FrameBufferManager/usecase/FrameBufferManagerCreateAttachmentUseCase.d.ts +10 -10
  106. package/src/FrameBufferManager/usecase/FrameBufferManagerCreateAttachmentUseCase.js +15 -15
  107. package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseTemporaryAttachmentUseCase.d.ts +4 -4
  108. package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseTemporaryAttachmentUseCase.js +5 -5
  109. package/src/FrameBufferManager.d.ts +95 -3
  110. package/src/FrameBufferManager.js +97 -8
  111. package/src/Gradient/GradientLUTCache.d.ts +36 -4
  112. package/src/Gradient/GradientLUTCache.js +61 -5
  113. package/src/Gradient/GradientLUTGenerator.d.ts +26 -14
  114. package/src/Gradient/GradientLUTGenerator.js +74 -43
  115. package/src/Mask/service/MaskUnionMaskService.d.ts +16 -1
  116. package/src/Mask/service/MaskUnionMaskService.js +45 -31
  117. package/src/Mask.d.ts +57 -3
  118. package/src/Mask.js +75 -11
  119. package/src/Mesh/service/MeshFillGenerateService.d.ts +4 -4
  120. package/src/Mesh/service/MeshFillGenerateService.js +4 -4
  121. package/src/Mesh/service/MeshStrokeFillGenerateService.d.ts +4 -4
  122. package/src/Mesh/service/MeshStrokeFillGenerateService.js +4 -4
  123. package/src/Mesh/usecase/MeshBitmapStrokeGenerateUseCase.d.ts +3 -3
  124. package/src/Mesh/usecase/MeshBitmapStrokeGenerateUseCase.js +10 -3
  125. package/src/Mesh/usecase/MeshFillGenerateUseCase.d.ts +2 -2
  126. package/src/Mesh/usecase/MeshFillGenerateUseCase.js +9 -2
  127. package/src/Mesh/usecase/MeshGradientStrokeGenerateUseCase.d.ts +3 -3
  128. package/src/Mesh/usecase/MeshGradientStrokeGenerateUseCase.js +10 -3
  129. package/src/Mesh/usecase/MeshStrokeGenerateUseCase.d.ts +8 -14
  130. package/src/Mesh/usecase/MeshStrokeGenerateUseCase.js +214 -129
  131. package/src/PathCommand.d.ts +24 -23
  132. package/src/PathCommand.js +25 -79
  133. package/src/Shader/PipelineManager.d.ts +223 -6
  134. package/src/Shader/PipelineManager.js +308 -66
  135. package/src/Shader/ShaderInstancedManager.d.ts +17 -0
  136. package/src/Shader/ShaderInstancedManager.js +17 -0
  137. package/src/Shader/ShaderSource.d.ts +317 -12
  138. package/src/Shader/ShaderSource.js +328 -39
  139. package/src/Shader/wgsl/common/SharedWgsl.d.ts +28 -1
  140. package/src/Shader/wgsl/common/SharedWgsl.js +28 -9
  141. package/src/Shader/wgsl/fragment/BasicFragment.d.ts +14 -0
  142. package/src/Shader/wgsl/fragment/BasicFragment.js +14 -0
  143. package/src/Shader/wgsl/fragment/BitmapFragment.d.ts +7 -0
  144. package/src/Shader/wgsl/fragment/BitmapFragment.js +7 -0
  145. package/src/Shader/wgsl/fragment/EffectFragment.d.ts +42 -0
  146. package/src/Shader/wgsl/fragment/EffectFragment.js +42 -0
  147. package/src/Shader/wgsl/fragment/FillFragment.d.ts +7 -0
  148. package/src/Shader/wgsl/fragment/FillFragment.js +7 -0
  149. package/src/Shader/wgsl/fragment/FilterFragment.d.ts +70 -0
  150. package/src/Shader/wgsl/fragment/FilterFragment.js +70 -0
  151. package/src/Shader/wgsl/fragment/GradientFragment.d.ts +21 -0
  152. package/src/Shader/wgsl/fragment/GradientFragment.js +43 -8
  153. package/src/Shader/wgsl/fragment/InstancedFragment.d.ts +7 -0
  154. package/src/Shader/wgsl/fragment/InstancedFragment.js +7 -0
  155. package/src/Shader/wgsl/fragment/MaskFragment.d.ts +7 -0
  156. package/src/Shader/wgsl/fragment/MaskFragment.js +7 -0
  157. package/src/Shader/wgsl/fragment/StencilFragment.d.ts +14 -0
  158. package/src/Shader/wgsl/fragment/StencilFragment.js +14 -0
  159. package/src/Shader/wgsl/vertex/BasicVertex.d.ts +7 -0
  160. package/src/Shader/wgsl/vertex/BasicVertex.js +7 -0
  161. package/src/Shader/wgsl/vertex/BitmapVertex.d.ts +7 -0
  162. package/src/Shader/wgsl/vertex/BitmapVertex.js +7 -0
  163. package/src/Shader/wgsl/vertex/FillVertex.d.ts +7 -0
  164. package/src/Shader/wgsl/vertex/FillVertex.js +7 -0
  165. package/src/Shader/wgsl/vertex/FilterVertex.d.ts +77 -1
  166. package/src/Shader/wgsl/vertex/FilterVertex.js +135 -42
  167. package/src/Shader/wgsl/vertex/GradientVertex.d.ts +7 -0
  168. package/src/Shader/wgsl/vertex/GradientVertex.js +7 -0
  169. package/src/Shader/wgsl/vertex/InstancedVertex.d.ts +7 -0
  170. package/src/Shader/wgsl/vertex/InstancedVertex.js +7 -0
  171. package/src/Shader/wgsl/vertex/MaskVertex.d.ts +7 -0
  172. package/src/Shader/wgsl/vertex/MaskVertex.js +7 -0
  173. package/src/Shader/wgsl/vertex/StencilVertex.d.ts +14 -0
  174. package/src/Shader/wgsl/vertex/StencilVertex.js +14 -0
  175. package/src/TextureManager/service/TextureManagerInitializeSamplersService.d.ts +2 -2
  176. package/src/TextureManager/service/TextureManagerInitializeSamplersService.js +2 -2
  177. package/src/TextureManager.d.ts +36 -5
  178. package/src/TextureManager.js +36 -24
  179. package/src/TexturePool/service/TexturePoolCleanupService.d.ts +4 -4
  180. package/src/TexturePool/service/TexturePoolCleanupService.js +6 -6
  181. package/src/TexturePool/service/TexturePoolReleaseService.d.ts +4 -4
  182. package/src/TexturePool/service/TexturePoolReleaseService.js +5 -5
  183. package/src/TexturePool/usecase/TexturePoolAcquireUseCase.d.ts +10 -10
  184. package/src/TexturePool/usecase/TexturePoolAcquireUseCase.js +19 -18
  185. package/src/TexturePool.d.ts +36 -35
  186. package/src/TexturePool.js +44 -65
  187. package/src/WebGPUUtil.d.ts +79 -34
  188. package/src/WebGPUUtil.js +79 -36
  189. package/src/interface/IAttachmentObject.d.ts +36 -0
  190. package/src/interface/IBlendMode.d.ts +7 -0
  191. package/src/interface/IBlendState.d.ts +8 -0
  192. package/src/interface/IBounds.d.ts +23 -0
  193. package/src/interface/IColorBufferObject.d.ts +28 -0
  194. package/src/interface/IComplexBlendItem.d.ts +48 -0
  195. package/src/interface/IFilterConfig.d.ts +28 -2
  196. package/src/interface/IGradientStop.d.ts +20 -0
  197. package/src/interface/ILocalFilterConfig.d.ts +32 -2
  198. package/src/interface/IMeshResult.d.ts +8 -0
  199. package/src/interface/IPoint.d.ts +12 -0
  200. package/src/interface/IPooledTexture.d.ts +24 -0
  201. package/src/interface/IQuadraticSegment.d.ts +8 -0
  202. package/src/interface/IStencilBufferObject.d.ts +28 -0
  203. package/src/interface/IStorageBufferConfig.d.ts +8 -1
  204. package/src/interface/ITextureObject.d.ts +28 -0
  205. package/src/AttachmentManager/service/AttachmentManagerCreateRenderPassDescriptorService.d.ts +0 -5
  206. package/src/AttachmentManager/service/AttachmentManagerCreateRenderPassDescriptorService.js +0 -42
  207. package/src/Blend/service/BlendAddService.d.ts +0 -1
  208. package/src/Blend/service/BlendAddService.js +0 -8
  209. package/src/Blend/service/BlendAlphaService.d.ts +0 -1
  210. package/src/Blend/service/BlendAlphaService.js +0 -8
  211. package/src/Blend/service/BlendEraseService.d.ts +0 -1
  212. package/src/Blend/service/BlendEraseService.js +0 -8
  213. package/src/Blend/service/BlendGetStateService.d.ts +0 -12
  214. package/src/Blend/service/BlendGetStateService.js +0 -13
  215. package/src/Blend/service/BlendOneZeroService.d.ts +0 -1
  216. package/src/Blend/service/BlendOneZeroService.js +0 -8
  217. package/src/Blend/service/BlendResetService.d.ts +0 -1
  218. package/src/Blend/service/BlendResetService.js +0 -8
  219. package/src/Blend/service/BlendScreenService.d.ts +0 -1
  220. package/src/Blend/service/BlendScreenService.js +0 -8
  221. package/src/Blend/service/BlendSetModeService.d.ts +0 -2
  222. package/src/Blend/service/BlendSetModeService.js +0 -4
  223. package/src/Blend/usecase/BlendOperationUseCase.d.ts +0 -11
  224. package/src/Blend/usecase/BlendOperationUseCase.js +0 -31
  225. package/src/BufferManager/usecase/BufferManagerReleaseStorageBufferUseCase.d.ts +0 -9
  226. package/src/BufferManager/usecase/BufferManagerReleaseStorageBufferUseCase.js +0 -15
  227. package/src/Compute/ComputePipelineManager.d.ts +0 -61
  228. package/src/Compute/ComputePipelineManager.js +0 -313
  229. package/src/Compute/service/ComputeExecuteBlurService.d.ts +0 -21
  230. package/src/Compute/service/ComputeExecuteBlurService.js +0 -81
  231. package/src/Filter/BevelFilterShader.d.ts +0 -2
  232. package/src/Filter/BevelFilterShader.js +0 -107
  233. package/src/Filter/BitmapFilterShader.d.ts +0 -2
  234. package/src/Filter/BitmapFilterShader.js +0 -207
  235. package/src/Filter/BlurFilter/service/BlurFilterComputeShaderService.d.ts +0 -40
  236. package/src/Filter/BlurFilter/service/BlurFilterComputeShaderService.js +0 -51
  237. package/src/Filter/BlurFilter/usecase/FilterApplyBlurComputeUseCase.d.ts +0 -25
  238. package/src/Filter/BlurFilter/usecase/FilterApplyBlurComputeUseCase.js +0 -180
  239. package/src/Filter/BlurFilterShader.d.ts +0 -5
  240. package/src/Filter/BlurFilterShader.js +0 -109
  241. package/src/Filter/ColorMatrixFilterShader.d.ts +0 -4
  242. package/src/Filter/ColorMatrixFilterShader.js +0 -51
  243. package/src/Filter/ConvolutionFilterShader.d.ts +0 -2
  244. package/src/Filter/ConvolutionFilterShader.js +0 -115
  245. package/src/Filter/DisplacementMapFilterShader.d.ts +0 -2
  246. package/src/Filter/DisplacementMapFilterShader.js +0 -114
  247. package/src/Filter/DropShadowFilterShader.d.ts +0 -4
  248. package/src/Filter/DropShadowFilterShader.js +0 -93
  249. package/src/Filter/GlowFilterShader.d.ts +0 -4
  250. package/src/Filter/GlowFilterShader.js +0 -66
  251. package/src/FrameBufferManager/service/FrameBufferManagerFlushPendingReleasesService.d.ts +0 -11
  252. package/src/FrameBufferManager/service/FrameBufferManagerFlushPendingReleasesService.js +0 -19
  253. package/src/Mask/usecase/MaskBindUseCase.d.ts +0 -10
  254. package/src/Mask/usecase/MaskBindUseCase.js +0 -20
  255. package/src/Mesh/service/MeshLerpService.d.ts +0 -13
  256. package/src/Mesh/service/MeshLerpService.js +0 -17
  257. package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.d.ts +0 -14
  258. package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.js +0 -28
  259. package/src/Mesh/usecase/MeshStrokeFillGenerateUseCase.d.ts +0 -18
  260. package/src/Mesh/usecase/MeshStrokeFillGenerateUseCase.js +0 -54
  261. package/src/SamplerCache/service/SamplerCacheCreateCommonSamplersService.d.ts +0 -11
  262. package/src/SamplerCache/service/SamplerCacheCreateCommonSamplersService.js +0 -35
  263. package/src/SamplerCache/service/SamplerCacheGenerateKeyService.d.ts +0 -13
  264. package/src/SamplerCache/service/SamplerCacheGenerateKeyService.js +0 -15
  265. package/src/SamplerCache/service/SamplerCacheGetOrCreateService.d.ts +0 -15
  266. package/src/SamplerCache/service/SamplerCacheGetOrCreateService.js +0 -30
  267. package/src/SamplerCache.d.ts +0 -18
  268. package/src/SamplerCache.js +0 -61
  269. package/src/Shader/BlendModeShader.d.ts +0 -51
  270. package/src/Shader/BlendModeShader.js +0 -71
  271. package/src/Shader/GradientLUTGenerator/service/GradientLUTCalculateResolutionService.d.ts +0 -12
  272. package/src/Shader/GradientLUTGenerator/service/GradientLUTCalculateResolutionService.js +0 -28
  273. package/src/Shader/GradientLUTGenerator/service/GradientLUTGeneratePixelsService.d.ts +0 -13
  274. package/src/Shader/GradientLUTGenerator/service/GradientLUTGeneratePixelsService.js +0 -61
  275. package/src/Shader/GradientLUTGenerator/service/GradientLUTInterpolateColorService.d.ts +0 -19
  276. package/src/Shader/GradientLUTGenerator/service/GradientLUTInterpolateColorService.js +0 -37
  277. package/src/Shader/GradientLUTGenerator/service/GradientLUTParseStopsService.d.ts +0 -11
  278. package/src/Shader/GradientLUTGenerator/service/GradientLUTParseStopsService.js +0 -24
  279. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateDataUseCase.d.ts +0 -14
  280. package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateDataUseCase.js +0 -24
  281. package/src/Shader/wgsl/fragment/BlendFragment.d.ts +0 -8
  282. package/src/Shader/wgsl/fragment/BlendFragment.js +0 -63
  283. package/src/TextureManager/usecase/TextureManagerCreateTextureFromImageBitmapUseCase.d.ts +0 -13
  284. package/src/TextureManager/usecase/TextureManagerCreateTextureFromImageBitmapUseCase.js +0 -30
  285. package/src/TextureManager/usecase/TextureManagerCreateTextureFromPixelsUseCase.d.ts +0 -15
  286. package/src/TextureManager/usecase/TextureManagerCreateTextureFromPixelsUseCase.js +0 -26
  287. package/src/TexturePool/service/TexturePoolEvictOldestService.d.ts +0 -11
  288. package/src/TexturePool/service/TexturePoolEvictOldestService.js +0 -24
  289. package/src/interface/ICachedBindGroup.d.ts +0 -8
  290. package/src/interface/ICachedBindGroup.js +0 -1
  291. package/src/interface/IGradientLUTData.d.ts +0 -8
  292. package/src/interface/IGradientLUTData.js +0 -1
  293. package/src/interface/IPooledBuffer.d.ts +0 -8
  294. package/src/interface/IPooledBuffer.js +0 -1
  295. package/src/interface/IRectangleInfo.d.ts +0 -13
  296. package/src/interface/IRectangleInfo.js +0 -1
@@ -1,313 +0,0 @@
1
- /**
2
- * @description Compute Pipeline Manager
3
- * Compute Shaderパイプラインの管理
4
- *
5
- * Compute Shaderは並列処理に最適で、フィルター処理を高速化。
6
- * 特に大きなブラー半径(64+)の場合、20-35%の高速化が期待できる。
7
- *
8
- * @class
9
- */
10
- export class ComputePipelineManager {
11
- /**
12
- * @constructor
13
- * @param {GPUDevice} device - WebGPU device
14
- */
15
- constructor(device) {
16
- Object.defineProperty(this, "device", {
17
- enumerable: true,
18
- configurable: true,
19
- writable: true,
20
- value: void 0
21
- });
22
- Object.defineProperty(this, "pipelines", {
23
- enumerable: true,
24
- configurable: true,
25
- writable: true,
26
- value: void 0
27
- });
28
- Object.defineProperty(this, "bindGroupLayouts", {
29
- enumerable: true,
30
- configurable: true,
31
- writable: true,
32
- value: void 0
33
- });
34
- this.device = device;
35
- this.pipelines = new Map();
36
- this.bindGroupLayouts = new Map();
37
- this.initializeBlurPipelines();
38
- }
39
- /**
40
- * @description ブラー用Compute Pipelineを初期化
41
- * @private
42
- */
43
- initializeBlurPipelines() {
44
- // ブラーCompute Shader用のBindGroupLayoutを作成
45
- const blurBindGroupLayout = this.device.createBindGroupLayout({
46
- "label": "blur_compute_bind_group_layout",
47
- "entries": [
48
- {
49
- // 入力テクスチャ
50
- "binding": 0,
51
- "visibility": GPUShaderStage.COMPUTE,
52
- "texture": {
53
- "sampleType": "float"
54
- }
55
- },
56
- {
57
- // 出力テクスチャ(Storage Texture)
58
- "binding": 1,
59
- "visibility": GPUShaderStage.COMPUTE,
60
- "storageTexture": {
61
- "access": "write-only",
62
- "format": "rgba8unorm"
63
- }
64
- },
65
- {
66
- // パラメータ(方向、ブラー半径など)
67
- "binding": 2,
68
- "visibility": GPUShaderStage.COMPUTE,
69
- "buffer": {
70
- "type": "uniform"
71
- }
72
- }
73
- ]
74
- });
75
- this.bindGroupLayouts.set("blur_compute", blurBindGroupLayout);
76
- // 水平/垂直ブラーパイプラインを作成
77
- // 同じシェーダーを使用し、方向はuniformで制御
78
- this.createBlurComputePipeline("blur_compute_horizontal");
79
- this.createBlurComputePipeline("blur_compute_vertical");
80
- // 共有メモリ版(大半径用)
81
- this.createBlurComputePipeline("blur_compute_shared_horizontal", true);
82
- this.createBlurComputePipeline("blur_compute_shared_vertical", true);
83
- }
84
- /**
85
- * @description ブラーCompute Pipelineを作成
86
- * @param {string} name - パイプライン名
87
- * @private
88
- */
89
- createBlurComputePipeline(name, useSharedMemory = false) {
90
- const shaderModule = this.device.createShaderModule({
91
- "label": `${name}_shader`,
92
- "code": useSharedMemory ? this.getSharedBlurComputeShaderCode() : this.getBlurComputeShaderCode()
93
- });
94
- const pipelineLayout = this.device.createPipelineLayout({
95
- "label": `${name}_layout`,
96
- "bindGroupLayouts": [this.bindGroupLayouts.get("blur_compute")]
97
- });
98
- const pipeline = this.device.createComputePipeline({
99
- "label": name,
100
- "layout": pipelineLayout,
101
- "compute": {
102
- "module": shaderModule,
103
- "entryPoint": "main"
104
- }
105
- });
106
- this.pipelines.set(name, pipeline);
107
- }
108
- /**
109
- * @description ブラーCompute Shaderコードを生成
110
- * ボックスブラー(均一加重平均)を使用。Fragment Shaderと同一出力。
111
- * @return {string} WGSLシェーダーコード
112
- * @private
113
- */
114
- getBlurComputeShaderCode() {
115
- return `
116
- struct BlurParams {
117
- direction: vec2<f32>, // (1,0) or (0,1)
118
- radius: f32, // ブラー半径
119
- fraction: f32, // 端ピクセルのブレンド割合
120
- texSize: vec2<f32>, // テクスチャサイズ
121
- samples: f32, // サンプル数
122
- padding: f32, // パディング(16バイトアライメント)
123
- }
124
-
125
- @group(0) @binding(0) var inputTexture: texture_2d<f32>;
126
- @group(0) @binding(1) var outputTexture: texture_storage_2d<rgba8unorm, write>;
127
- @group(0) @binding(2) var<uniform> params: BlurParams;
128
-
129
- const WORKGROUP_SIZE: u32 = 16u;
130
-
131
- @compute @workgroup_size(16, 16, 1)
132
- fn main(
133
- @builtin(global_invocation_id) globalId: vec3<u32>
134
- ) {
135
- let texSize = vec2<u32>(u32(params.texSize.x), u32(params.texSize.y));
136
- let radius = i32(params.radius);
137
-
138
- let outCoord = globalId.xy;
139
-
140
- if (outCoord.x >= texSize.x || outCoord.y >= texSize.y) {
141
- return;
142
- }
143
-
144
- let direction = vec2<i32>(i32(params.direction.x), i32(params.direction.y));
145
- let samples = params.samples;
146
- let fraction = params.fraction;
147
-
148
- var color = vec4<f32>(0.0);
149
-
150
- for (var i = -radius; i <= radius; i = i + 1) {
151
- var sampleCoord = vec2<i32>(outCoord) + direction * i;
152
-
153
- sampleCoord.x = clamp(sampleCoord.x, 0, i32(texSize.x) - 1);
154
- sampleCoord.y = clamp(sampleCoord.y, 0, i32(texSize.y) - 1);
155
-
156
- let sample = textureLoad(inputTexture, vec2<u32>(sampleCoord), 0);
157
-
158
- // 端ピクセルにfraction重みを適用(Fragment Shaderと同じロジック)
159
- if (i == -radius || i == radius) {
160
- color = color + sample * fraction;
161
- } else {
162
- color = color + sample;
163
- }
164
- }
165
-
166
- color = color / samples;
167
-
168
- textureStore(outputTexture, outCoord, color);
169
- }
170
- `;
171
- }
172
- /**
173
- * @description 共有メモリ版ブラーCompute Shaderコードを生成
174
- * ワークグループ共有メモリでテクスチャ読み込みの重複を排除。
175
- * radius >= 8 で通常版より高速。
176
- * @return {string} WGSLシェーダーコード
177
- * @private
178
- */
179
- getSharedBlurComputeShaderCode() {
180
- return `
181
- struct BlurParams {
182
- direction: vec2<f32>,
183
- radius: f32,
184
- fraction: f32,
185
- texSize: vec2<f32>,
186
- samples: f32,
187
- padding: f32,
188
- }
189
-
190
- @group(0) @binding(0) var inputTexture: texture_2d<f32>;
191
- @group(0) @binding(1) var outputTexture: texture_storage_2d<rgba8unorm, write>;
192
- @group(0) @binding(2) var<uniform> params: BlurParams;
193
-
194
- const TILE: u32 = 16u;
195
- const MAX_APRON: u32 = 24u;
196
- const SHARED_W: u32 = TILE + 2u * MAX_APRON;
197
-
198
- var<workgroup> tile: array<vec4<f32>, ${(16 + 2 * 24) * 16}>;
199
-
200
- @compute @workgroup_size(16, 16, 1)
201
- fn main(
202
- @builtin(global_invocation_id) globalId: vec3<u32>,
203
- @builtin(local_invocation_id) localId: vec3<u32>,
204
- @builtin(workgroup_id) workgroupId: vec3<u32>
205
- ) {
206
- let texSize = vec2<u32>(u32(params.texSize.x), u32(params.texSize.y));
207
- let radius = u32(params.radius);
208
- let apron = min(radius, MAX_APRON);
209
- let isHorizontal = params.direction.x > 0.5;
210
- let fraction = params.fraction;
211
- let samples = params.samples;
212
-
213
- let threadIdx = localId.x + localId.y * TILE;
214
- let totalThreads = TILE * TILE;
215
-
216
- if (isHorizontal) {
217
- let sharedWidth = TILE + 2u * apron;
218
- let baseX = workgroupId.x * TILE;
219
- let y = globalId.y;
220
- let clampedY = clamp(y, 0u, max(texSize.y, 1u) - 1u);
221
-
222
- // 全スレッドが協調ロード(範囲外スレッドもclampされた座標でロード)
223
- var idx = threadIdx;
224
- loop {
225
- if (idx >= sharedWidth) { break; }
226
- let gx = i32(baseX) + i32(idx) - i32(apron);
227
- let cx = u32(clamp(gx, 0, i32(max(texSize.x, 1u)) - 1));
228
- tile[localId.y * SHARED_W + idx] = textureLoad(inputTexture, vec2<u32>(cx, clampedY), 0);
229
- idx += totalThreads;
230
- }
231
-
232
- // 全スレッドがバリアに到達(早期returnなし)
233
- workgroupBarrier();
234
-
235
- // 範囲内のスレッドのみ出力
236
- let outX = globalId.x;
237
- if (outX < texSize.x && y < texSize.y) {
238
- let iRadius = i32(radius);
239
- var color = vec4<f32>(0.0);
240
- for (var i = -iRadius; i <= iRadius; i = i + 1) {
241
- let tileIdx = i32(localId.x) + i32(apron) + i;
242
- let s = tile[localId.y * SHARED_W + u32(clamp(tileIdx, 0, i32(sharedWidth) - 1))];
243
- if (i == -iRadius || i == iRadius) {
244
- color += s * fraction;
245
- } else {
246
- color += s;
247
- }
248
- }
249
- textureStore(outputTexture, vec2<u32>(outX, y), color / samples);
250
- }
251
- } else {
252
- let sharedHeight = TILE + 2u * apron;
253
- let baseY = workgroupId.y * TILE;
254
- let x = globalId.x;
255
- let clampedX = clamp(x, 0u, max(texSize.x, 1u) - 1u);
256
-
257
- // 全スレッドが協調ロード(範囲外スレッドもclampされた座標でロード)
258
- var idx = threadIdx;
259
- loop {
260
- if (idx >= sharedHeight) { break; }
261
- let gy = i32(baseY) + i32(idx) - i32(apron);
262
- let cy = u32(clamp(gy, 0, i32(max(texSize.y, 1u)) - 1));
263
- tile[idx * TILE + localId.x] = textureLoad(inputTexture, vec2<u32>(clampedX, cy), 0);
264
- idx += totalThreads;
265
- }
266
-
267
- // 全スレッドがバリアに到達(早期returnなし)
268
- workgroupBarrier();
269
-
270
- // 範囲内のスレッドのみ出力
271
- let outY = globalId.y;
272
- if (x < texSize.x && outY < texSize.y) {
273
- let iRadius = i32(radius);
274
- var color = vec4<f32>(0.0);
275
- for (var i = -iRadius; i <= iRadius; i = i + 1) {
276
- let tileIdx = i32(localId.y) + i32(apron) + i;
277
- let s = tile[u32(clamp(tileIdx, 0, i32(sharedHeight) - 1)) * TILE + localId.x];
278
- if (i == -iRadius || i == iRadius) {
279
- color += s * fraction;
280
- } else {
281
- color += s;
282
- }
283
- }
284
- textureStore(outputTexture, vec2<u32>(x, outY), color / samples);
285
- }
286
- }
287
- }
288
- `;
289
- }
290
- /**
291
- * @description パイプラインを取得
292
- * @param {string} name - パイプライン名
293
- * @return {GPUComputePipeline | undefined}
294
- */
295
- getPipeline(name) {
296
- return this.pipelines.get(name);
297
- }
298
- /**
299
- * @description BindGroupLayoutを取得
300
- * @param {string} name - レイアウト名
301
- * @return {GPUBindGroupLayout | undefined}
302
- */
303
- getBindGroupLayout(name) {
304
- return this.bindGroupLayouts.get(name);
305
- }
306
- /**
307
- * @description リソースを破棄
308
- */
309
- destroy() {
310
- this.pipelines.clear();
311
- this.bindGroupLayouts.clear();
312
- }
313
- }
@@ -1,21 +0,0 @@
1
- import type { IAttachmentObject } from "../../interface/IAttachmentObject";
2
- import type { ComputePipelineManager } from "../ComputePipelineManager";
3
- /**
4
- * @description Compute Shaderでブラーを実行(ボックスブラー)
5
- * Execute box blur using Compute Shader
6
- *
7
- * Fragment Shaderと同一のボックスブラーアルゴリズムを使用。
8
- *
9
- * @param {GPUDevice} device - WebGPU device
10
- * @param {GPUCommandEncoder} commandEncoder - コマンドエンコーダー
11
- * @param {ComputePipelineManager} computePipelineManager - Compute Pipeline Manager
12
- * @param {IAttachmentObject} source - 入力アタッチメント
13
- * @param {IAttachmentObject} dest - 出力アタッチメント
14
- * @param {boolean} isHorizontal - 水平ブラーかどうか
15
- * @param {number} blur - ブラー量(bufferBlurX/Y相当)
16
- * @param {object} [bufferManager] - バッファマネージャー(プール化用)
17
- * @return {void}
18
- */
19
- export declare const execute: (device: GPUDevice, commandEncoder: GPUCommandEncoder, computePipelineManager: ComputePipelineManager, source: IAttachmentObject, dest: IAttachmentObject, isHorizontal: boolean, blur: number, bufferManager?: {
20
- acquireAndWriteUniformBuffer(data: Float32Array, byteLength?: number): GPUBuffer;
21
- }) => void;
@@ -1,81 +0,0 @@
1
- /**
2
- * @description プリアロケートされたFloat32Array (サイズ8)
3
- */
4
- const $params8 = new Float32Array(8);
5
- /**
6
- * @description プリアロケートされたBindGroupEntry配列 (バインディング3つ)
7
- */
8
- const $computeEntries3 = [
9
- { "binding": 0, "resource": null },
10
- { "binding": 1, "resource": null },
11
- { "binding": 2, "resource": { "buffer": null } }
12
- ];
13
- /**
14
- * @description プリアロケートされたComputePassDescriptor
15
- */
16
- const $labelH = { "label": "blur_compute_pass_h" };
17
- const $labelV = { "label": "blur_compute_pass_v" };
18
- /**
19
- * @description Compute Shaderでブラーを実行(ボックスブラー)
20
- * Execute box blur using Compute Shader
21
- *
22
- * Fragment Shaderと同一のボックスブラーアルゴリズムを使用。
23
- *
24
- * @param {GPUDevice} device - WebGPU device
25
- * @param {GPUCommandEncoder} commandEncoder - コマンドエンコーダー
26
- * @param {ComputePipelineManager} computePipelineManager - Compute Pipeline Manager
27
- * @param {IAttachmentObject} source - 入力アタッチメント
28
- * @param {IAttachmentObject} dest - 出力アタッチメント
29
- * @param {boolean} isHorizontal - 水平ブラーかどうか
30
- * @param {number} blur - ブラー量(bufferBlurX/Y相当)
31
- * @param {object} [bufferManager] - バッファマネージャー(プール化用)
32
- * @return {void}
33
- */
34
- export const execute = (device, commandEncoder, computePipelineManager, source, dest, isHorizontal, blur, bufferManager) => {
35
- // radius 8~24 の場合は共有メモリ版を使用(MAX_APRON=24の制限)
36
- const halfBlur = Math.ceil(blur * 0.5);
37
- const useShared = halfBlur >= 8 && halfBlur <= 24;
38
- const pipelineName = useShared
39
- ? isHorizontal ? "blur_compute_shared_horizontal" : "blur_compute_shared_vertical"
40
- : isHorizontal ? "blur_compute_horizontal" : "blur_compute_vertical";
41
- const pipeline = computePipelineManager.getPipeline(pipelineName);
42
- const bindGroupLayout = computePipelineManager.getBindGroupLayout("blur_compute");
43
- if (!pipeline || !bindGroupLayout) {
44
- return;
45
- }
46
- // ボックスブラーパラメータ(Fragment ShaderのcalculateDirectionalBlurParamsと同一ロジック)
47
- const fraction = 1 - (halfBlur - blur * 0.5);
48
- const samples = 1 + blur;
49
- $params8[0] = isHorizontal ? 1.0 : 0.0; // direction.x
50
- $params8[1] = isHorizontal ? 0.0 : 1.0; // direction.y
51
- $params8[2] = halfBlur; // radius (halfBlur)
52
- $params8[3] = fraction; // fraction
53
- $params8[4] = source.width; // texSize.x
54
- $params8[5] = source.height; // texSize.y
55
- $params8[6] = samples; // samples
56
- $params8[7] = 0.0; // padding
57
- const paramsBuffer = bufferManager
58
- ? bufferManager.acquireAndWriteUniformBuffer($params8)
59
- : (() => {
60
- const buf = device.createBuffer({
61
- "size": $params8.byteLength,
62
- "usage": GPUBufferUsage.UNIFORM | GPUBufferUsage.COPY_DST
63
- });
64
- device.queue.writeBuffer(buf, 0, $params8);
65
- return buf;
66
- })();
67
- $computeEntries3[0].resource = source.texture.view;
68
- $computeEntries3[1].resource = dest.texture.view;
69
- $computeEntries3[2].resource.buffer = paramsBuffer;
70
- const bindGroup = device.createBindGroup({
71
- "layout": bindGroupLayout,
72
- "entries": $computeEntries3
73
- });
74
- const computePass = commandEncoder.beginComputePass(isHorizontal ? $labelH : $labelV);
75
- computePass.setPipeline(pipeline);
76
- computePass.setBindGroup(0, bindGroup);
77
- const workgroupsX = Math.ceil(dest.width / 16);
78
- const workgroupsY = Math.ceil(dest.height / 16);
79
- computePass.dispatchWorkgroups(workgroupsX, workgroupsY, 1);
80
- computePass.end();
81
- };
@@ -1,2 +0,0 @@
1
- export declare const getBevelFilterFragmentShader: (type: string, knockout: boolean, isGradient: boolean) => string;
2
- export declare const getBevelFilterShaderKey: (type: string, knockout: boolean, isGradient: boolean) => string;
@@ -1,107 +0,0 @@
1
- export const getBevelFilterFragmentShader = (type, knockout, isGradient) => {
2
- const isInner = type === "inner";
3
- const isOuter = type === "outer";
4
- const gradientBinding = isGradient ? `
5
- @group(0) @binding(4) var gradientTexture: texture_2d<f32>;` : "";
6
- const colorCalculation = isGradient ? `
7
- let gradientCoord = vec2<f32>(blurAlpha, 0.5);
8
- var filterColor = textureSample(gradientTexture, sourceSampler, gradientCoord);
9
- ` : `
10
- let highlightWeight = clamp(blurAlpha * 2.0, 0.0, 1.0);
11
- let shadowWeight = clamp((1.0 - blurAlpha) * 2.0, 0.0, 1.0);
12
- var filterColor = uniforms.highlightColor * highlightWeight + uniforms.shadowColor * shadowWeight;
13
- `;
14
- let typeProcessing = "";
15
- if (isInner) {
16
- typeProcessing = `
17
- let baseAlpha = textureSample(baseTexture, sourceSampler, baseTexCoord).a;
18
- filterColor = filterColor * baseAlpha;
19
- ${knockout ? "let finalColor = filterColor;" : "let finalColor = mix(baseColor, filterColor, filterColor.a);"}
20
- `;
21
- }
22
- else if (isOuter) {
23
- typeProcessing = `
24
- let baseAlpha = textureSample(baseTexture, sourceSampler, baseTexCoord).a;
25
- filterColor = filterColor * (1.0 - baseAlpha);
26
- ${knockout ? "let finalColor = filterColor;" : "let finalColor = filterColor + baseColor * (1.0 - filterColor.a);"}
27
- `;
28
- }
29
- else {
30
- typeProcessing = knockout ? `
31
- let finalColor = filterColor;
32
- ` : `
33
- let finalColor = filterColor + baseColor * (1.0 - filterColor.a);
34
- `;
35
- }
36
- return `
37
- struct BevelUniforms {
38
- blurTexCoordScale: vec2<f32>,
39
- blurTexCoordOffset: vec2<f32>,
40
- baseTexCoordScale: vec2<f32>,
41
- baseTexCoordOffset: vec2<f32>,
42
- strength: f32,
43
- _pad1: f32,
44
- _pad2: f32,
45
- _pad3: f32,
46
- highlightColor: vec4<f32>,
47
- shadowColor: vec4<f32>,
48
- }
49
-
50
- @group(0) @binding(0) var<uniform> uniforms: BevelUniforms;
51
- @group(0) @binding(1) var sourceSampler: sampler;
52
- @group(0) @binding(2) var blurTexture: texture_2d<f32>;
53
- @group(0) @binding(3) var baseTexture: texture_2d<f32>;
54
- ${gradientBinding}
55
-
56
- struct VertexOutput {
57
- @builtin(position) position: vec4<f32>,
58
- @location(0) texCoord: vec2<f32>,
59
- }
60
-
61
- @vertex
62
- fn vs_main(@builtin(vertex_index) vertexIndex: u32) -> VertexOutput {
63
- var positions = array<vec2<f32>, 6>(
64
- vec2<f32>(-1.0, -1.0),
65
- vec2<f32>(1.0, -1.0),
66
- vec2<f32>(-1.0, 1.0),
67
- vec2<f32>(-1.0, 1.0),
68
- vec2<f32>(1.0, -1.0),
69
- vec2<f32>(1.0, 1.0)
70
- );
71
-
72
- var texCoords = array<vec2<f32>, 6>(
73
- vec2<f32>(0.0, 1.0),
74
- vec2<f32>(1.0, 1.0),
75
- vec2<f32>(0.0, 0.0),
76
- vec2<f32>(0.0, 0.0),
77
- vec2<f32>(1.0, 1.0),
78
- vec2<f32>(1.0, 0.0)
79
- );
80
-
81
- var output: VertexOutput;
82
- output.position = vec4<f32>(positions[vertexIndex], 0.0, 1.0);
83
- output.texCoord = texCoords[vertexIndex];
84
- return output;
85
- }
86
-
87
- @fragment
88
- fn fs_main(input: VertexOutput) -> @location(0) vec4<f32> {
89
- let blurTexCoord = input.texCoord * uniforms.blurTexCoordScale + uniforms.blurTexCoordOffset;
90
- let baseTexCoord = input.texCoord * uniforms.baseTexCoordScale + uniforms.baseTexCoordOffset;
91
-
92
- let blurColor = textureSample(blurTexture, sourceSampler, blurTexCoord);
93
- var blurAlpha = blurColor.a * uniforms.strength;
94
- blurAlpha = clamp(blurAlpha, 0.0, 1.0);
95
-
96
- let baseColor = textureSample(baseTexture, sourceSampler, baseTexCoord);
97
-
98
- ${colorCalculation}
99
- ${typeProcessing}
100
-
101
- return finalColor;
102
- }
103
- `;
104
- };
105
- export const getBevelFilterShaderKey = (type, knockout, isGradient) => {
106
- return `bevel_${type}_${knockout ? "ko" : "nko"}_${isGradient ? "g" : "ng"}`;
107
- };
@@ -1,2 +0,0 @@
1
- export declare const getBitmapFilterFragmentShader: (transformsBase: boolean, transformsBlur: boolean, isGlow: boolean, type: string, knockout: boolean, appliesStrength: boolean, isGradient: boolean) => string;
2
- export declare const getBitmapFilterShaderKey: (transformsBase: boolean, transformsBlur: boolean, isGlow: boolean, type: string, knockout: boolean, appliesStrength: boolean, isGradient: boolean) => string;