@next2d/webgpu 3.0.5 → 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,115 +0,0 @@
1
- export const getConvolutionFilterFragmentShader = (matrixX, matrixY, preserveAlpha, clamp) => {
2
- const halfX = Math.floor(matrixX * 0.5);
3
- const halfY = Math.floor(matrixY * 0.5);
4
- const size = matrixX * matrixY;
5
- let matrixStatement = "";
6
- for (let idx = 0; idx < size; idx++) {
7
- matrixStatement += `
8
- result = result + getWeightedColor(${idx}, getMatrixWeight(${idx}));`;
9
- }
10
- const preserveAlphaStatement = preserveAlpha
11
- ? "result.a = textureSample(sourceTexture, sourceSampler, input.texCoord).a;"
12
- : "";
13
- const clampStatement = clamp
14
- ? ""
15
- : `
16
- let substituteColor = uniforms.substituteColor;
17
- color = mix(substituteColor, color, isInside(uv));`;
18
- return `
19
- struct ConvolutionUniforms {
20
- rcpSize: vec2<f32>,
21
- rcpDivisor: f32,
22
- bias: f32,
23
- substituteColor: vec4<f32>,
24
- matrix: array<vec4<f32>, ${Math.ceil(size / 4)}>,
25
- }
26
-
27
- @group(0) @binding(0) var<uniform> uniforms: ConvolutionUniforms;
28
- @group(0) @binding(1) var sourceSampler: sampler;
29
- @group(0) @binding(2) var sourceTexture: texture_2d<f32>;
30
-
31
- struct VertexOutput {
32
- @builtin(position) position: vec4<f32>,
33
- @location(0) texCoord: vec2<f32>,
34
- }
35
-
36
- fn isInside(uv: vec2<f32>) -> f32 {
37
- let inside = step(vec2<f32>(0.0), uv) * step(uv, vec2<f32>(1.0));
38
- return inside.x * inside.y;
39
- }
40
-
41
- fn getMatrixWeight(index: i32) -> f32 {
42
- let vecIndex = index / 4;
43
- let component = index % 4;
44
- let vec = uniforms.matrix[vecIndex];
45
-
46
- if (component == 0) { return vec.x; }
47
- else if (component == 1) { return vec.y; }
48
- else if (component == 2) { return vec.z; }
49
- else { return vec.w; }
50
- }
51
-
52
- fn getWeightedColor(i: i32, weight: f32) -> vec4<f32> {
53
- let rcpSize = uniforms.rcpSize;
54
-
55
- let iDivX = i / ${matrixX};
56
- let iModX = i - ${matrixX} * iDivX;
57
- let offset = vec2<f32>(f32(iModX - ${halfX}), f32(${halfY} - iDivX));
58
- var uv = input.texCoord + offset * rcpSize;
59
-
60
- var color = textureSample(sourceTexture, sourceSampler, uv);
61
- color = vec4<f32>(color.rgb / max(0.0001, color.a), color.a);
62
- ${clampStatement}
63
-
64
- return color * weight;
65
- }
66
-
67
- var<private> input: VertexOutput;
68
-
69
- @vertex
70
- fn vs_main(@builtin(vertex_index) vertexIndex: u32) -> VertexOutput {
71
- var positions = array<vec2<f32>, 6>(
72
- vec2<f32>(-1.0, -1.0),
73
- vec2<f32>(1.0, -1.0),
74
- vec2<f32>(-1.0, 1.0),
75
- vec2<f32>(-1.0, 1.0),
76
- vec2<f32>(1.0, -1.0),
77
- vec2<f32>(1.0, 1.0)
78
- );
79
-
80
- var texCoords = array<vec2<f32>, 6>(
81
- vec2<f32>(0.0, 1.0),
82
- vec2<f32>(1.0, 1.0),
83
- vec2<f32>(0.0, 0.0),
84
- vec2<f32>(0.0, 0.0),
85
- vec2<f32>(1.0, 1.0),
86
- vec2<f32>(1.0, 0.0)
87
- );
88
-
89
- var output: VertexOutput;
90
- output.position = vec4<f32>(positions[vertexIndex], 0.0, 1.0);
91
- output.texCoord = texCoords[vertexIndex];
92
- return output;
93
- }
94
-
95
- @fragment
96
- fn fs_main(fragInput: VertexOutput) -> @location(0) vec4<f32> {
97
- input = fragInput;
98
-
99
- let rcpDivisor = uniforms.rcpDivisor;
100
- let bias = uniforms.bias;
101
-
102
- var result = vec4<f32>(0.0);
103
- ${matrixStatement}
104
-
105
- result = clamp(result * rcpDivisor + bias, vec4<f32>(0.0), vec4<f32>(1.0));
106
- ${preserveAlphaStatement}
107
-
108
- result = vec4<f32>(result.rgb * result.a, result.a);
109
- return result;
110
- }
111
- `;
112
- };
113
- export const getConvolutionFilterShaderKey = (matrixX, matrixY, preserveAlpha, clamp) => {
114
- return `convolution_${matrixX}x${matrixY}_${preserveAlpha ? "pa" : "npa"}_${clamp ? "c" : "nc"}`;
115
- };
@@ -1,2 +0,0 @@
1
- export declare const getDisplacementMapFilterFragmentShader: (componentX: number, componentY: number, mode: number) => string;
2
- export declare const getDisplacementMapFilterShaderKey: (componentX: number, componentY: number, mode: number) => string;
@@ -1,114 +0,0 @@
1
- const getComponentExpression = (component) => {
2
- switch (component) {
3
- case 1:
4
- return "mapColor.r";
5
- case 2:
6
- return "mapColor.g";
7
- case 4:
8
- return "mapColor.b";
9
- case 8:
10
- return "mapColor.a";
11
- default:
12
- return "0.5";
13
- }
14
- };
15
- const getModeStatement = (mode) => {
16
- switch (mode) {
17
- case 0:
18
- return `
19
- let sourceColor = textureSample(sourceTexture, sourceSampler, uv);`;
20
- case 1:
21
- return `
22
- let substituteColor = uniforms.substituteColor;
23
- let sourceColor = mix(substituteColor, textureSample(sourceTexture, sourceSampler, uv), isInside(uv));`;
24
- case 3:
25
- return `
26
- let fallbackUv = mix(input.texCoord, uv, step(abs(uv - vec2<f32>(0.5)), vec2<f32>(0.5)));
27
- let sourceColor = textureSample(sourceTexture, sourceSampler, fallbackUv);`;
28
- case 2:
29
- default:
30
- return `
31
- let sourceColor = textureSample(sourceTexture, sourceSampler, fract(uv));`;
32
- }
33
- };
34
- export const getDisplacementMapFilterFragmentShader = (componentX, componentY, mode) => {
35
- const cx = getComponentExpression(componentX);
36
- const cy = getComponentExpression(componentY);
37
- const modeStatement = getModeStatement(mode);
38
- const hasSubstituteColor = mode === 1;
39
- return `
40
- struct DisplacementMapUniforms {
41
- uvToStScale: vec2<f32>,
42
- uvToStOffset: vec2<f32>,
43
- scale: vec2<f32>,
44
- _pad: vec2<f32>,
45
- ${hasSubstituteColor ? " substituteColor: vec4<f32>," : ""}
46
- }
47
-
48
- @group(0) @binding(0) var<uniform> uniforms: DisplacementMapUniforms;
49
- @group(0) @binding(1) var sourceSampler: sampler;
50
- @group(0) @binding(2) var sourceTexture: texture_2d<f32>;
51
- @group(0) @binding(3) var mapTexture: texture_2d<f32>;
52
-
53
- struct VertexOutput {
54
- @builtin(position) position: vec4<f32>,
55
- @location(0) texCoord: vec2<f32>,
56
- }
57
-
58
- fn isInside(uv: vec2<f32>) -> f32 {
59
- let inside = step(vec2<f32>(0.0), uv) * step(uv, vec2<f32>(1.0));
60
- return inside.x * inside.y;
61
- }
62
-
63
- var<private> input: VertexOutput;
64
-
65
- @vertex
66
- fn vs_main(@builtin(vertex_index) vertexIndex: u32) -> VertexOutput {
67
- var positions = array<vec2<f32>, 6>(
68
- vec2<f32>(-1.0, -1.0),
69
- vec2<f32>(1.0, -1.0),
70
- vec2<f32>(-1.0, 1.0),
71
- vec2<f32>(-1.0, 1.0),
72
- vec2<f32>(1.0, -1.0),
73
- vec2<f32>(1.0, 1.0)
74
- );
75
-
76
- var texCoords = array<vec2<f32>, 6>(
77
- vec2<f32>(0.0, 1.0),
78
- vec2<f32>(1.0, 1.0),
79
- vec2<f32>(0.0, 0.0),
80
- vec2<f32>(0.0, 0.0),
81
- vec2<f32>(1.0, 1.0),
82
- vec2<f32>(1.0, 0.0)
83
- );
84
-
85
- var output: VertexOutput;
86
- output.position = vec4<f32>(positions[vertexIndex], 0.0, 1.0);
87
- output.texCoord = texCoords[vertexIndex];
88
- return output;
89
- }
90
-
91
- @fragment
92
- fn fs_main(fragInput: VertexOutput) -> @location(0) vec4<f32> {
93
- input = fragInput;
94
-
95
- let uvToStScale = uniforms.uvToStScale;
96
- let uvToStOffset = uniforms.uvToStOffset;
97
- let scale = uniforms.scale;
98
-
99
- let st = input.texCoord * uvToStScale - uvToStOffset;
100
- let mapColor = textureSample(mapTexture, sourceSampler, st);
101
-
102
- let offset = vec2<f32>(${cx}, ${cy}) - 0.5;
103
- let uv = input.texCoord + offset * scale;
104
-
105
- ${modeStatement}
106
-
107
- let originalColor = textureSample(sourceTexture, sourceSampler, input.texCoord);
108
- return mix(originalColor, sourceColor, isInside(st));
109
- }
110
- `;
111
- };
112
- export const getDisplacementMapFilterShaderKey = (componentX, componentY, mode) => {
113
- return `displacement_${componentX}_${componentY}_${mode}`;
114
- };
@@ -1,4 +0,0 @@
1
- export declare class DropShadowFilterShader {
2
- static getFragmentShader(): string;
3
- static getVertexShader(): string;
4
- }
@@ -1,93 +0,0 @@
1
- export class DropShadowFilterShader {
2
- static getFragmentShader() {
3
- return /* wgsl */ `
4
- struct VertexOutput {
5
- @builtin(position) position: vec4<f32>,
6
- @location(0) texCoord: vec2<f32>,
7
- }
8
-
9
- struct DropShadowUniforms {
10
- shadowColor: vec4<f32>,
11
- offset: vec2<f32>,
12
- distance: f32,
13
- angle: f32,
14
- strength: f32,
15
- inner: f32,
16
- knockout: f32,
17
- hideObject: f32,
18
- }
19
-
20
- @group(0) @binding(0) var<uniform> uniforms: DropShadowUniforms;
21
- @group(0) @binding(1) var textureSampler: sampler;
22
- @group(0) @binding(2) var textureData: texture_2d<f32>;
23
-
24
- @fragment
25
- fn main(input: VertexOutput) -> @location(0) vec4<f32> {
26
- var originalColor = textureSample(textureData, textureSampler, input.texCoord);
27
-
28
- let radian = uniforms.angle * 3.14159265 / 180.0;
29
- let offsetX = cos(radian) * uniforms.distance / 100.0;
30
- let offsetY = sin(radian) * uniforms.distance / 100.0;
31
-
32
- let shadowCoord = vec2<f32>(
33
- input.texCoord.x + offsetX,
34
- input.texCoord.y + offsetY
35
- );
36
-
37
- var shadowAlpha = textureSample(textureData, textureSampler, shadowCoord).a;
38
-
39
- var shadowColor = vec4<f32>(
40
- uniforms.shadowColor.rgb,
41
- shadowAlpha * uniforms.shadowColor.a * uniforms.strength
42
- );
43
-
44
- if (uniforms.inner > 0.5) {
45
- let alpha = originalColor.a;
46
- shadowColor.a *= alpha;
47
-
48
- if (uniforms.knockout > 0.5) {
49
- return shadowColor;
50
- } else {
51
- return mix(shadowColor, originalColor, alpha);
52
- }
53
- } else {
54
- if (uniforms.hideObject > 0.5) {
55
- return shadowColor * (1.0 - originalColor.a);
56
- } else if (uniforms.knockout > 0.5) {
57
- return shadowColor;
58
- } else {
59
- let combinedAlpha = originalColor.a + shadowColor.a * (1.0 - originalColor.a);
60
- if (combinedAlpha > 0.0) {
61
- let rgb = (originalColor.rgb * originalColor.a +
62
- shadowColor.rgb * shadowColor.a * (1.0 - originalColor.a)) / combinedAlpha;
63
- return vec4<f32>(rgb, combinedAlpha);
64
- } else {
65
- return vec4<f32>(0.0);
66
- }
67
- }
68
- }
69
- }
70
- `;
71
- }
72
- static getVertexShader() {
73
- return /* wgsl */ `
74
- struct VertexInput {
75
- @location(0) position: vec2<f32>,
76
- @location(1) texCoord: vec2<f32>,
77
- }
78
-
79
- struct VertexOutput {
80
- @builtin(position) position: vec4<f32>,
81
- @location(0) texCoord: vec2<f32>,
82
- }
83
-
84
- @vertex
85
- fn main(input: VertexInput) -> VertexOutput {
86
- var output: VertexOutput;
87
- output.position = vec4<f32>(input.position, 0.0, 1.0);
88
- output.texCoord = input.texCoord;
89
- return output;
90
- }
91
- `;
92
- }
93
- }
@@ -1,4 +0,0 @@
1
- export declare class GlowFilterShader {
2
- static getFragmentShader(): string;
3
- static getVertexShader(): string;
4
- }
@@ -1,66 +0,0 @@
1
- export class GlowFilterShader {
2
- static getFragmentShader() {
3
- return /* wgsl */ `
4
- struct VertexOutput {
5
- @builtin(position) position: vec4<f32>,
6
- @location(0) texCoord: vec2<f32>,
7
- }
8
-
9
- struct GlowUniforms {
10
- glowColor: vec4<f32>,
11
- strength: f32,
12
- inner: f32,
13
- knockout: f32,
14
- _padding: f32,
15
- }
16
-
17
- @group(0) @binding(0) var<uniform> uniforms: GlowUniforms;
18
- @group(0) @binding(1) var textureSampler: sampler;
19
- @group(0) @binding(2) var textureData: texture_2d<f32>;
20
-
21
- @fragment
22
- fn main(input: VertexOutput) -> @location(0) vec4<f32> {
23
- var originalColor = textureSample(textureData, textureSampler, input.texCoord);
24
-
25
- let alpha = originalColor.a;
26
-
27
- var glowColor = uniforms.glowColor * uniforms.strength * alpha;
28
-
29
- if (uniforms.inner > 0.5) {
30
- if (uniforms.knockout > 0.5) {
31
- return glowColor;
32
- } else {
33
- return mix(originalColor, glowColor, alpha);
34
- }
35
- } else {
36
- if (uniforms.knockout > 0.5) {
37
- return vec4<f32>(glowColor.rgb, glowColor.a * (1.0 - alpha));
38
- } else {
39
- return originalColor + glowColor;
40
- }
41
- }
42
- }
43
- `;
44
- }
45
- static getVertexShader() {
46
- return /* wgsl */ `
47
- struct VertexInput {
48
- @location(0) position: vec2<f32>,
49
- @location(1) texCoord: vec2<f32>,
50
- }
51
-
52
- struct VertexOutput {
53
- @builtin(position) position: vec4<f32>,
54
- @location(0) texCoord: vec2<f32>,
55
- }
56
-
57
- @vertex
58
- fn main(input: VertexInput) -> VertexOutput {
59
- var output: VertexOutput;
60
- output.position = vec4<f32>(input.position, 0.0, 1.0);
61
- output.texCoord = input.texCoord;
62
- return output;
63
- }
64
- `;
65
- }
66
- }
@@ -1,11 +0,0 @@
1
- import type { IAttachmentObject } from "../../interface/IAttachmentObject";
2
- /**
3
- * @description フレーム終了時に保留中のテクスチャを解放
4
- * Release pending textures at end of frame (after submit)
5
- *
6
- * @param {IAttachmentObject[]} pendingReleases
7
- * @return {void}
8
- * @method
9
- * @protected
10
- */
11
- export declare const execute: (pendingReleases: IAttachmentObject[]) => void;
@@ -1,19 +0,0 @@
1
- /**
2
- * @description フレーム終了時に保留中のテクスチャを解放
3
- * Release pending textures at end of frame (after submit)
4
- *
5
- * @param {IAttachmentObject[]} pendingReleases
6
- * @return {void}
7
- * @method
8
- * @protected
9
- */
10
- export const execute = (pendingReleases) => {
11
- for (const att of pendingReleases) {
12
- if (att.texture) {
13
- att.texture.resource.destroy();
14
- }
15
- if (att.stencil) {
16
- att.stencil.resource.destroy();
17
- }
18
- }
19
- };
@@ -1,10 +0,0 @@
1
- /**
2
- * @description マスクOn/Offに合わせたバインド処理
3
- * Binding process according to mask On/Off
4
- *
5
- * @param {boolean} mask
6
- * @return {void}
7
- * @method
8
- * @protected
9
- */
10
- export declare const execute: (mask: boolean) => void;
@@ -1,20 +0,0 @@
1
- import { execute as maskEndMaskService } from "../service/MaskEndMaskService";
2
- import { $isMaskDrawing, $setMaskDrawing } from "../../Mask";
3
- /**
4
- * @description マスクOn/Offに合わせたバインド処理
5
- * Binding process according to mask On/Off
6
- *
7
- * @param {boolean} mask
8
- * @return {void}
9
- * @method
10
- * @protected
11
- */
12
- export const execute = (mask) => {
13
- if (!mask && $isMaskDrawing()) {
14
- $setMaskDrawing(false);
15
- }
16
- else if (mask && !$isMaskDrawing()) {
17
- $setMaskDrawing(true);
18
- maskEndMaskService();
19
- }
20
- };
@@ -1,13 +0,0 @@
1
- import type { IPoint } from "../../interface/IPoint";
2
- /**
3
- * @description 線形補間
4
- * Linear interpolation
5
- *
6
- * @param {IPoint} pointA
7
- * @param {IPoint} pointB
8
- * @param {number} t
9
- * @return {IPoint}
10
- * @method
11
- * @protected
12
- */
13
- export declare const execute: (pointA: IPoint, pointB: IPoint, t: number) => IPoint;
@@ -1,17 +0,0 @@
1
- /**
2
- * @description 線形補間
3
- * Linear interpolation
4
- *
5
- * @param {IPoint} pointA
6
- * @param {IPoint} pointB
7
- * @param {number} t
8
- * @return {IPoint}
9
- * @method
10
- * @protected
11
- */
12
- export const execute = (pointA, pointB, t) => {
13
- return {
14
- "x": pointA.x + (pointB.x - pointA.x) * t,
15
- "y": pointA.y + (pointB.y - pointA.y) * t
16
- };
17
- };
@@ -1,14 +0,0 @@
1
- import type { IPoint } from "../../interface/IPoint";
2
- /**
3
- * @description 二次ベジェ曲線を分割する
4
- * Split a quadratic Bezier curve
5
- *
6
- * @param {IPoint} start_point
7
- * @param {IPoint} control_point
8
- * @param {IPoint} end_point
9
- * @param {number} [t = 0.5]
10
- * @return {Array<IPoint[]>}
11
- * @method
12
- * @protected
13
- */
14
- export declare const execute: (start_point: IPoint, control_point: IPoint, end_point: IPoint, t?: number) => Array<IPoint[]>;
@@ -1,28 +0,0 @@
1
- import { execute as meshLerpService } from "../service/MeshLerpService";
2
- /**
3
- * @description 二次ベジェ曲線を分割する
4
- * Split a quadratic Bezier curve
5
- *
6
- * @param {IPoint} start_point
7
- * @param {IPoint} control_point
8
- * @param {IPoint} end_point
9
- * @param {number} [t = 0.5]
10
- * @return {Array<IPoint[]>}
11
- * @method
12
- * @protected
13
- */
14
- export const execute = (start_point, control_point, end_point, t = 0.5) => {
15
- // 二次ベジエ曲線の分割
16
- // M0 = lerp(P0, P1, t)
17
- // M1 = lerp(P1, P2, t)
18
- // M01 = lerp(M0, M1, t)
19
- const M0 = meshLerpService(start_point, control_point, t);
20
- const M1 = meshLerpService(control_point, end_point, t);
21
- const M01 = meshLerpService(M0, M1, t);
22
- // 左サブ (0...t): [P0, M0, M01]
23
- // 右サブ (t...1): [M01, M1, P2]
24
- return [
25
- [start_point, M0, M01],
26
- [M01, M1, end_point]
27
- ];
28
- };
@@ -1,18 +0,0 @@
1
- import type { IPath } from "../../interface/IPath";
2
- import type { IMeshResult } from "../../interface/IMeshResult";
3
- /**
4
- * @description ストローク塗りつぶし用のメッシュを生成する
5
- * Generate a stroke fill mesh
6
- *
7
- * 頂点フォーマット(4 floats per vertex):
8
- * - position: x, y (2 floats)
9
- * - bezier: u, v (2 floats) - 常に (0.5, 0.5)
10
- *
11
- * color/matrixはuniform bufferで供給される
12
- *
13
- * @param {IPath[]} vertices
14
- * @return {IMeshResult}
15
- * @method
16
- * @protected
17
- */
18
- export declare const execute: (vertices: IPath[]) => IMeshResult;
@@ -1,54 +0,0 @@
1
- import { execute as meshStrokeFillGenerateService } from "../service/MeshStrokeFillGenerateService";
2
- /**
3
- * @description メッシュ生成用の再利用可能な一時バッファ(GC回避)
4
- */
5
- let $meshTempBuffer = new Float32Array(32);
6
- const $upperPowerOfTwo = (v) => {
7
- v--;
8
- v |= v >> 1;
9
- v |= v >> 2;
10
- v |= v >> 4;
11
- v |= v >> 8;
12
- v |= v >> 16;
13
- v++;
14
- return v;
15
- };
16
- /**
17
- * @description ストローク塗りつぶし用のメッシュを生成する
18
- * Generate a stroke fill mesh
19
- *
20
- * 頂点フォーマット(4 floats per vertex):
21
- * - position: x, y (2 floats)
22
- * - bezier: u, v (2 floats) - 常に (0.5, 0.5)
23
- *
24
- * color/matrixはuniform bufferで供給される
25
- *
26
- * @param {IPath[]} vertices
27
- * @return {IMeshResult}
28
- * @method
29
- * @protected
30
- */
31
- export const execute = (vertices) => {
32
- // 頂点数を計算(各パスの三角形数 × 3)
33
- let totalVertices = 0;
34
- for (const vertex of vertices) {
35
- const length = vertex.length - 5;
36
- for (let idx = 3; idx < length; idx += 3) {
37
- totalVertices += 3;
38
- }
39
- }
40
- // バッファを確保(4 floats per vertex、再利用可能バッファ)
41
- const requiredSize = totalVertices * 4;
42
- if ($meshTempBuffer.length < requiredSize) {
43
- $meshTempBuffer = new Float32Array($upperPowerOfTwo(requiredSize));
44
- }
45
- const buffer = $meshTempBuffer;
46
- let index = 0;
47
- for (const vertex of vertices) {
48
- index = meshStrokeFillGenerateService(vertex, buffer, index);
49
- }
50
- return {
51
- "buffer": buffer.subarray(0, index * 4),
52
- "indexCount": index
53
- };
54
- };
@@ -1,11 +0,0 @@
1
- /**
2
- * @description 頻繁に使用されるサンプラーを事前に作成
3
- * Pre-create commonly used samplers
4
- *
5
- * @param {GPUDevice} device
6
- * @param {Map<string, GPUSampler>} cache
7
- * @return {void}
8
- * @method
9
- * @protected
10
- */
11
- export declare const execute: (device: GPUDevice, cache: Map<string, GPUSampler>) => void;
@@ -1,35 +0,0 @@
1
- import { execute as samplerCacheGenerateKeyService } from "./SamplerCacheGenerateKeyService";
2
- /**
3
- * @description 頻繁に使用されるサンプラーを事前に作成
4
- * Pre-create commonly used samplers
5
- *
6
- * @param {GPUDevice} device
7
- * @param {Map<string, GPUSampler>} cache
8
- * @return {void}
9
- * @method
10
- * @protected
11
- */
12
- export const execute = (device, cache) => {
13
- const createAndCache = (minFilter, magFilter, addressModeU, addressModeV) => {
14
- const key = samplerCacheGenerateKeyService(minFilter, magFilter, addressModeU, addressModeV);
15
- if (!cache.has(key)) {
16
- const sampler = device.createSampler({
17
- minFilter,
18
- magFilter,
19
- addressModeU,
20
- addressModeV
21
- });
22
- cache.set(key, sampler);
23
- }
24
- };
25
- // リニアクランプ(最も一般的)
26
- createAndCache("linear", "linear", "clamp-to-edge", "clamp-to-edge");
27
- // ニアレストクランプ
28
- createAndCache("nearest", "nearest", "clamp-to-edge", "clamp-to-edge");
29
- // リニアリピート
30
- createAndCache("linear", "linear", "repeat", "repeat");
31
- // ニアレストリピート
32
- createAndCache("nearest", "nearest", "repeat", "repeat");
33
- // リニアミラーリピート
34
- createAndCache("linear", "linear", "mirror-repeat", "mirror-repeat");
35
- };