@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
@@ -11,101 +11,223 @@ import { StencilWriteFragment, StencilFillFragment } from "./wgsl/fragment/Stenc
11
11
  import { MaskFragment } from "./wgsl/fragment/MaskFragment";
12
12
  import { BasicFragment, TextureFragment } from "./wgsl/fragment/BasicFragment";
13
13
  import { InstancedFragment } from "./wgsl/fragment/InstancedFragment";
14
- import { GradientFillFragment, GradientFillStencilFragment, GradientFragment } from "./wgsl/fragment/GradientFragment";
14
+ import { GradientFillFragment, GradientFillStencilFragment } from "./wgsl/fragment/GradientFragment";
15
15
  import { BitmapFillFragment } from "./wgsl/fragment/BitmapFragment";
16
16
  import { TextureCopyFragment, BlurTextureCopyFragment, FilterOutputFragment, ColorTransformFragment, YFlipColorTransformFragment, ColorMatrixFilterFragment, NodeClearFragment, PositionedTextureFragment, BlendGenericFragment, BitmapSyncFragment } from "./wgsl/fragment/FilterFragment";
17
17
  import { GlowFilterFragment, DropShadowFilterFragment, GradientGlowFilterFragment, GradientBevelFilterFragment, BevelFilterFragment, BevelBaseFragment } from "./wgsl/fragment/EffectFragment";
18
18
  import { WgslIsInside, WgslVertexOutput } from "./wgsl/common/SharedWgsl";
19
+ /**
20
+ * @description WebGPU用シェーダーソース管理クラス
21
+ * WebGPU shader source management class providing all vertex and fragment shaders
22
+ */
19
23
  export class ShaderSource {
24
+ /**
25
+ * @description 塗り用頂点シェーダーを取得する
26
+ * Get fill vertex shader
27
+ *
28
+ * @return {string}
29
+ */
20
30
  static getFillVertexShader() {
21
31
  return FillVertex;
22
32
  }
23
- static getFillMainVertexShader() {
24
- return FillVertex;
25
- }
33
+ /**
34
+ * @description 塗り用フラグメントシェーダーを取得する
35
+ * Get fill fragment shader
36
+ *
37
+ * @return {string}
38
+ */
26
39
  static getFillFragmentShader() {
27
40
  return FillFragment;
28
41
  }
42
+ /**
43
+ * @description ステンシル書き込み用頂点シェーダーを取得する
44
+ * Get stencil write vertex shader
45
+ *
46
+ * @return {string}
47
+ */
29
48
  static getStencilWriteVertexShader() {
30
49
  return StencilWriteVertex;
31
50
  }
32
- static getStencilWriteMainVertexShader() {
33
- return StencilWriteVertex;
34
- }
51
+ /**
52
+ * @description ステンシル書き込み用フラグメントシェーダーを取得する
53
+ * Get stencil write fragment shader
54
+ *
55
+ * @return {string}
56
+ */
35
57
  static getStencilWriteFragmentShader() {
36
58
  return StencilWriteFragment;
37
59
  }
60
+ /**
61
+ * @description ステンシル塗り用頂点シェーダーを取得する
62
+ * Get stencil fill vertex shader
63
+ *
64
+ * @return {string}
65
+ */
38
66
  static getStencilFillVertexShader() {
39
67
  return StencilFillVertex;
40
68
  }
41
- static getStencilFillMainVertexShader() {
42
- return StencilFillVertex;
43
- }
69
+ /**
70
+ * @description ステンシル塗り用フラグメントシェーダーを取得する
71
+ * Get stencil fill fragment shader
72
+ *
73
+ * @return {string}
74
+ */
44
75
  static getStencilFillFragmentShader() {
45
76
  return StencilFillFragment;
46
77
  }
78
+ /**
79
+ * @description マスク用頂点シェーダーを取得する
80
+ * Get mask vertex shader
81
+ *
82
+ * @return {string}
83
+ */
47
84
  static getMaskVertexShader() {
48
85
  return MaskVertex;
49
86
  }
87
+ /**
88
+ * @description マスク用フラグメントシェーダーを取得する
89
+ * Get mask fragment shader
90
+ *
91
+ * @return {string}
92
+ */
50
93
  static getMaskFragmentShader() {
51
94
  return MaskFragment;
52
95
  }
96
+ /**
97
+ * @description 基本頂点シェーダーを取得する
98
+ * Get basic vertex shader
99
+ *
100
+ * @return {string}
101
+ */
53
102
  static getBasicVertexShader() {
54
103
  return BasicVertex;
55
104
  }
56
- static getBasicMainVertexShader() {
57
- return BasicVertex;
58
- }
105
+ /**
106
+ * @description 基本フラグメントシェーダーを取得する
107
+ * Get basic fragment shader
108
+ *
109
+ * @return {string}
110
+ */
59
111
  static getBasicFragmentShader() {
60
112
  return BasicFragment;
61
113
  }
114
+ /**
115
+ * @description テクスチャフラグメントシェーダーを取得する
116
+ * Get texture fragment shader
117
+ *
118
+ * @return {string}
119
+ */
62
120
  static getTextureFragmentShader() {
63
121
  return TextureFragment;
64
122
  }
123
+ /**
124
+ * @description インスタンス描画用頂点シェーダーを取得する
125
+ * Get instanced vertex shader
126
+ *
127
+ * @return {string}
128
+ */
65
129
  static getInstancedVertexShader() {
66
130
  return InstancedVertex;
67
131
  }
132
+ /**
133
+ * @description インスタンス描画用フラグメントシェーダーを取得する
134
+ * Get instanced fragment shader
135
+ *
136
+ * @return {string}
137
+ */
68
138
  static getInstancedFragmentShader() {
69
139
  return InstancedFragment;
70
140
  }
141
+ /**
142
+ * @description グラデーション塗り用頂点シェーダーを取得する
143
+ * Get gradient fill vertex shader
144
+ *
145
+ * @return {string}
146
+ */
71
147
  static getGradientFillVertexShader() {
72
148
  return GradientFillVertex;
73
149
  }
74
- static getGradientFillMainVertexShader() {
75
- return GradientFillVertex;
76
- }
150
+ /**
151
+ * @description グラデーション塗り用フラグメントシェーダーを取得する
152
+ * Get gradient fill fragment shader
153
+ *
154
+ * @return {string}
155
+ */
77
156
  static getGradientFillFragmentShader() {
78
157
  return GradientFillFragment;
79
158
  }
159
+ /**
160
+ * @description ステンシル用グラデーション塗りフラグメントシェーダーを取得する
161
+ * Get gradient fill stencil fragment shader
162
+ *
163
+ * @return {string}
164
+ */
80
165
  static getGradientFillStencilFragmentShader() {
81
166
  return GradientFillStencilFragment;
82
167
  }
83
- static getGradientFragmentShader() {
84
- return GradientFragment;
85
- }
168
+ /**
169
+ * @description ビットマップ塗り用頂点シェーダーを取得する
170
+ * Get bitmap fill vertex shader
171
+ *
172
+ * @return {string}
173
+ */
86
174
  static getBitmapFillVertexShader() {
87
175
  return BitmapFillVertex;
88
176
  }
89
- static getBitmapFillMainVertexShader() {
90
- return BitmapFillVertex;
91
- }
177
+ /**
178
+ * @description ビットマップ塗り用フラグメントシェーダーを取得する
179
+ * Get bitmap fill fragment shader
180
+ *
181
+ * @return {string}
182
+ */
92
183
  static getBitmapFillFragmentShader() {
93
184
  return BitmapFillFragment;
94
185
  }
186
+ /**
187
+ * @description ブレンド用フラグメントシェーダーを取得する
188
+ * Get blend fragment shader
189
+ *
190
+ * @return {string}
191
+ */
95
192
  static getBlendFragmentShader() {
96
193
  return BlendGenericFragment;
97
194
  }
195
+ /**
196
+ * @description ブラーフィルター用頂点シェーダーを取得する
197
+ * Get blur filter vertex shader
198
+ *
199
+ * @return {string}
200
+ */
98
201
  static getBlurFilterVertexShader() {
99
202
  return BlurFilterVertex;
100
203
  }
204
+ /**
205
+ * @description ビットマップ同期用頂点シェーダーを取得する
206
+ * Get bitmap sync vertex shader
207
+ *
208
+ * @return {string}
209
+ */
101
210
  static getBitmapSyncVertexShader() {
102
211
  return BitmapSyncVertex;
103
212
  }
213
+ /**
214
+ * @description ビットマップ同期用フラグメントシェーダーを取得する
215
+ * Get bitmap sync fragment shader
216
+ *
217
+ * @return {string}
218
+ */
104
219
  static getBitmapSyncFragmentShader() {
105
220
  return BitmapSyncFragment;
106
221
  }
107
- static getBlurFilterFragmentShader(halfBlur) {
108
- const halfBlurFixed = halfBlur.toFixed(1);
222
+ /**
223
+ * @description ブラーフィルター用フラグメントシェーダーを生成する
224
+ * Generate blur filter fragment shader
225
+ *
226
+ * @param {number} half_blur - ブラーの半径値
227
+ * @return {string}
228
+ */
229
+ static getBlurFilterFragmentShader(half_blur) {
230
+ const halfBlurFixed = half_blur.toFixed(1);
109
231
  return /* wgsl */ `
110
232
  ${WgslVertexOutput}
111
233
 
@@ -136,52 +258,134 @@ fn main(input: VertexOutput) -> @location(0) vec4<f32> {
136
258
  }
137
259
  `;
138
260
  }
261
+ /**
262
+ * @description テクスチャコピー用フラグメントシェーダーを取得する
263
+ * Get texture copy fragment shader
264
+ *
265
+ * @return {string}
266
+ */
139
267
  static getTextureCopyFragmentShader() {
140
268
  return TextureCopyFragment;
141
269
  }
270
+ /**
271
+ * @description ブラー用テクスチャコピーフラグメントシェーダーを取得する
272
+ * Get blur texture copy fragment shader
273
+ *
274
+ * @return {string}
275
+ */
142
276
  static getBlurTextureCopyFragmentShader() {
143
277
  return BlurTextureCopyFragment;
144
278
  }
279
+ /**
280
+ * @description フィルター出力用フラグメントシェーダーを取得する
281
+ * Get filter output fragment shader
282
+ *
283
+ * @return {string}
284
+ */
145
285
  static getFilterOutputFragmentShader() {
146
286
  return FilterOutputFragment;
147
287
  }
288
+ /**
289
+ * @description カラー変換フラグメントシェーダーを取得する
290
+ * Get color transform fragment shader
291
+ *
292
+ * @return {string}
293
+ */
148
294
  static getColorTransformFragmentShader() {
149
295
  return ColorTransformFragment;
150
296
  }
297
+ /**
298
+ * @description Y軸反転付きカラー変換フラグメントシェーダーを取得する
299
+ * Get Y-flip color transform fragment shader
300
+ *
301
+ * @return {string}
302
+ */
151
303
  static getYFlipColorTransformFragmentShader() {
152
304
  return YFlipColorTransformFragment;
153
305
  }
306
+ /**
307
+ * @description カラーマトリクスフィルターフラグメントシェーダーを取得する
308
+ * Get color matrix filter fragment shader
309
+ *
310
+ * @return {string}
311
+ */
154
312
  static getColorMatrixFilterFragmentShader() {
155
313
  return ColorMatrixFilterFragment;
156
314
  }
315
+ /**
316
+ * @description グローフィルターフラグメントシェーダーを取得する
317
+ * Get glow filter fragment shader
318
+ *
319
+ * @return {string}
320
+ */
157
321
  static getGlowFilterFragmentShader() {
158
322
  return GlowFilterFragment;
159
323
  }
324
+ /**
325
+ * @description ドロップシャドウフィルターフラグメントシェーダーを取得する
326
+ * Get drop shadow filter fragment shader
327
+ *
328
+ * @return {string}
329
+ */
160
330
  static getDropShadowFilterFragmentShader() {
161
331
  return DropShadowFilterFragment;
162
332
  }
333
+ /**
334
+ * @description グラデーショングローフィルターフラグメントシェーダーを取得する
335
+ * Get gradient glow filter fragment shader
336
+ *
337
+ * @return {string}
338
+ */
163
339
  static getGradientGlowFilterFragmentShader() {
164
340
  return GradientGlowFilterFragment;
165
341
  }
342
+ /**
343
+ * @description グラデーションベベルフィルターフラグメントシェーダーを取得する
344
+ * Get gradient bevel filter fragment shader
345
+ *
346
+ * @return {string}
347
+ */
166
348
  static getGradientBevelFilterFragmentShader() {
167
349
  return GradientBevelFilterFragment;
168
350
  }
351
+ /**
352
+ * @description ベベルフィルターフラグメントシェーダーを取得する
353
+ * Get bevel filter fragment shader
354
+ *
355
+ * @return {string}
356
+ */
169
357
  static getBevelFilterFragmentShader() {
170
358
  return BevelFilterFragment;
171
359
  }
360
+ /**
361
+ * @description ベベルフィルターベース処理フラグメントシェーダーを取得する
362
+ * Get bevel filter base fragment shader
363
+ *
364
+ * @return {string}
365
+ */
172
366
  static getBevelBaseFragmentShader() {
173
367
  return BevelBaseFragment;
174
368
  }
175
- static getConvolutionFilterFragmentShader(matrixX, matrixY, preserveAlpha = true, clamp = true) {
176
- const halfX = Math.floor(matrixX * 0.5);
177
- const halfY = Math.floor(matrixY * 0.5);
178
- const size = matrixX * matrixY;
369
+ /**
370
+ * @description コンボリューション(畳み込み)フィルターフラグメントシェーダーを生成する
371
+ * Generate convolution filter fragment shader
372
+ *
373
+ * @param {number} matrix_x - コンボリューション行列のX次元サイズ
374
+ * @param {number} matrix_y - コンボリューション行列のY次元サイズ
375
+ * @param {boolean} [preserve_alpha=true] - 元のアルファ値を保持するかどうか
376
+ * @param {boolean} [clamp=true] - UV座標を範囲内にクランプするかどうか
377
+ * @return {string}
378
+ */
379
+ static getConvolutionFilterFragmentShader(matrix_x, matrix_y, preserve_alpha = true, clamp = true) {
380
+ const halfX = Math.floor(matrix_x * 0.5);
381
+ const halfY = Math.floor(matrix_y * 0.5);
382
+ const size = matrix_x * matrix_y;
179
383
  let matrixStatement = "";
180
384
  for (let idx = 0; idx < size; idx++) {
181
385
  matrixStatement += `
182
386
  result = result + getWeightedColor(${idx}, getMatrixWeight(${idx}));`;
183
387
  }
184
- const preserveAlphaStatement = preserveAlpha
388
+ const preserveAlphaStatement = preserve_alpha
185
389
  ? "result.a = textureSample(sourceTexture, sourceSampler, input.texCoord).a;"
186
390
  : "";
187
391
  const clampStatement = clamp
@@ -218,8 +422,8 @@ fn getMatrixWeight(index: i32) -> f32 {
218
422
 
219
423
  fn getWeightedColor(i: i32, weight: f32) -> vec4<f32> {
220
424
  let rcpSize = uniforms.rcpSize;
221
- let iDivX = i / ${matrixX};
222
- let iModX = i - ${matrixX} * iDivX;
425
+ let iDivX = i / ${matrix_x};
426
+ let iModX = i - ${matrix_x} * iDivX;
223
427
  let offset = vec2<f32>(f32(iModX - ${halfX}), f32(${halfY} - iDivX));
224
428
  var uv = input.texCoord + offset * rcpSize;
225
429
  var color = textureSample(sourceTexture, sourceSampler, uv);
@@ -268,11 +472,15 @@ fn fs_main(fragInput: VertexOutput) -> @location(0) vec4<f32> {
268
472
  }
269
473
  `;
270
474
  }
271
- static getComplexBlendFragmentShader() {
272
- return ShaderSource.getUnifiedComplexBlendFragmentShader();
273
- }
274
- static getBlendModeIndex(blendMode) {
275
- switch (blendMode) {
475
+ /**
476
+ * @description ブレンドモード名からインデックスを取得する
477
+ * Get blend mode index from blend mode name
478
+ *
479
+ * @param {string} blend_mode - ブレンドモード名
480
+ * @return {number}
481
+ */
482
+ static getBlendModeIndex(blend_mode) {
483
+ switch (blend_mode) {
276
484
  case "subtract": return 0;
277
485
  case "multiply": return 1;
278
486
  case "lighten": return 2;
@@ -284,6 +492,12 @@ fn fs_main(fragInput: VertexOutput) -> @location(0) vec4<f32> {
284
492
  default: return 1;
285
493
  }
286
494
  }
495
+ /**
496
+ * @description 統合複合ブレンドフラグメントシェーダーを取得する
497
+ * Get unified complex blend fragment shader
498
+ *
499
+ * @return {string}
500
+ */
287
501
  static getUnifiedComplexBlendFragmentShader() {
288
502
  return /* wgsl */ `
289
503
  ${WgslVertexOutput}
@@ -375,10 +589,19 @@ fn main(input: VertexOutput) -> @location(0) vec4<f32> {
375
589
  }
376
590
  `;
377
591
  }
378
- static getDisplacementMapFilterFragmentShader(componentX, componentY, mode) {
592
+ /**
593
+ * @description ディスプレースメントマップフィルターフラグメントシェーダーを生成する
594
+ * Generate displacement map filter fragment shader
595
+ *
596
+ * @param {number} component_x - X方向の色コンポーネント (1:R, 2:G, 4:B, 8:A)
597
+ * @param {number} component_y - Y方向の色コンポーネント (1:R, 2:G, 4:B, 8:A)
598
+ * @param {number} mode - マッピングモード (0:wrap, 1:color, 2:repeat, 3:clamp)
599
+ * @return {string}
600
+ */
601
+ static getDisplacementMapFilterFragmentShader(component_x, component_y, mode) {
379
602
  let cx;
380
603
  let cy;
381
- switch (componentX) {
604
+ switch (component_x) {
382
605
  case 1:
383
606
  cx = "mapColor.r";
384
607
  break;
@@ -395,7 +618,7 @@ fn main(input: VertexOutput) -> @location(0) vec4<f32> {
395
618
  cx = "0.5";
396
619
  break;
397
620
  }
398
- switch (componentY) {
621
+ switch (component_y) {
399
622
  case 1:
400
623
  cy = "mapColor.r";
401
624
  break;
@@ -482,36 +705,102 @@ fn main(input: VertexOutput) -> @location(0) vec4<f32> {
482
705
  }
483
706
  `;
484
707
  }
708
+ /**
709
+ * @description ノードクリア用頂点シェーダーを取得する
710
+ * Get node clear vertex shader
711
+ *
712
+ * @return {string}
713
+ */
485
714
  static getNodeClearVertexShader() {
486
715
  return NodeClearVertex;
487
716
  }
717
+ /**
718
+ * @description ノードクリア用フラグメントシェーダーを取得する
719
+ * Get node clear fragment shader
720
+ *
721
+ * @return {string}
722
+ */
488
723
  static getNodeClearFragmentShader() {
489
724
  return NodeClearFragment;
490
725
  }
726
+ /**
727
+ * @description 位置指定テクスチャ用頂点シェーダーを取得する
728
+ * Get positioned texture vertex shader
729
+ *
730
+ * @return {string}
731
+ */
491
732
  static getPositionedTextureVertexShader() {
492
733
  return PositionedTextureVertex;
493
734
  }
735
+ /**
736
+ * @description テクスチャスケール用頂点シェーダーを取得する
737
+ * Get texture scale vertex shader
738
+ *
739
+ * @return {string}
740
+ */
494
741
  static getTextureScaleVertexShader() {
495
742
  return TextureScaleVertex;
496
743
  }
744
+ /**
745
+ * @description テクスチャスケールブレンド用頂点シェーダーを取得する
746
+ * Get texture scale blend vertex shader
747
+ *
748
+ * @return {string}
749
+ */
497
750
  static getTextureScaleBlendVertexShader() {
498
751
  return TextureScaleBlendVertex;
499
752
  }
753
+ /**
754
+ * @description 複合ブレンドスケール用頂点シェーダーを取得する
755
+ * Get complex blend scale vertex shader
756
+ *
757
+ * @return {string}
758
+ */
500
759
  static getComplexBlendScaleVertexShader() {
501
760
  return ComplexBlendScaleVertex;
502
761
  }
762
+ /**
763
+ * @description 複合ブレンド用頂点シェーダーを取得する
764
+ * Get complex blend vertex shader
765
+ *
766
+ * @return {string}
767
+ */
503
768
  static getComplexBlendVertexShader() {
504
769
  return ComplexBlendVertex;
505
770
  }
771
+ /**
772
+ * @description 複合ブレンドコピー用頂点シェーダーを取得する
773
+ * Get complex blend copy vertex shader
774
+ *
775
+ * @return {string}
776
+ */
506
777
  static getComplexBlendCopyVertexShader() {
507
778
  return ComplexBlendCopyVertex;
508
779
  }
780
+ /**
781
+ * @description 複合ブレンド出力用頂点シェーダーを取得する
782
+ * Get complex blend output vertex shader
783
+ *
784
+ * @return {string}
785
+ */
509
786
  static getComplexBlendOutputVertexShader() {
510
787
  return ComplexBlendOutputVertex;
511
788
  }
789
+ /**
790
+ * @description フィルター複合ブレンド出力用頂点シェーダーを取得する
791
+ * Get filter complex blend output vertex shader
792
+ *
793
+ * @return {string}
794
+ */
512
795
  static getFilterComplexBlendOutputVertexShader() {
513
796
  return FilterComplexBlendOutputVertex;
514
797
  }
798
+ /**
799
+ * @description 位置指定テクスチャ用フラグメントシェーダーを取得する
800
+ * Get positioned texture fragment shader
801
+ *
802
+ * @return {string}
803
+ */
515
804
  static getPositionedTextureFragmentShader() {
516
805
  return PositionedTextureFragment;
517
806
  }
@@ -1,5 +1,32 @@
1
+ /**
2
+ * @description UV座標が0〜1の範囲内にあるかを判定するWGSLヘルパー関数
3
+ * WGSL helper function that checks if UV coordinates are within the 0-1 range
4
+ *
5
+ * @type {string}
6
+ * @constant
7
+ */
1
8
  export declare const WgslIsInside = "\nfn isInside(uv: vec2<f32>) -> f32 {\n let s = step(vec2<f32>(0.0), uv) * step(uv, vec2<f32>(1.0));\n return s.x * s.y;\n}";
9
+ /**
10
+ * @description フルスクリーン四角形の頂点座標定義(NDC空間)
11
+ * Full-screen quad vertex positions definition in NDC space
12
+ *
13
+ * @type {string}
14
+ * @constant
15
+ */
2
16
  export declare const WgslFullscreenPositions = "\n const positions = array<vec2<f32>, 6>(\n vec2<f32>(-1.0, -1.0),\n vec2<f32>( 1.0, -1.0),\n vec2<f32>(-1.0, 1.0),\n vec2<f32>(-1.0, 1.0),\n vec2<f32>( 1.0, -1.0),\n vec2<f32>( 1.0, 1.0)\n );";
17
+ /**
18
+ * @description 単位四角形の頂点座標定義(0〜1空間)
19
+ * Unit quad vertex positions definition in 0-1 space
20
+ *
21
+ * @type {string}
22
+ * @constant
23
+ */
3
24
  export declare const WgslUnitQuadVertices = "\n const vertices = array<vec2<f32>, 6>(\n vec2<f32>(0.0, 0.0),\n vec2<f32>(1.0, 0.0),\n vec2<f32>(0.0, 1.0),\n vec2<f32>(0.0, 1.0),\n vec2<f32>(1.0, 0.0),\n vec2<f32>(1.0, 1.0)\n );";
25
+ /**
26
+ * @description 標準的な頂点シェーダー出力構造体のWGSL定義
27
+ * WGSL definition of the standard vertex shader output struct
28
+ *
29
+ * @type {string}
30
+ * @constant
31
+ */
4
32
  export declare const WgslVertexOutput = "\nstruct VertexOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) texCoord: vec2<f32>,\n}";
5
- export declare const WgslFullscreenTexCoords = "\n const texCoords = array<vec2<f32>, 6>(\n vec2<f32>(0.0, 1.0),\n vec2<f32>(1.0, 1.0),\n vec2<f32>(0.0, 0.0),\n vec2<f32>(0.0, 0.0),\n vec2<f32>(1.0, 1.0),\n vec2<f32>(1.0, 0.0)\n );";
@@ -1,8 +1,22 @@
1
+ /**
2
+ * @description UV座標が0〜1の範囲内にあるかを判定するWGSLヘルパー関数
3
+ * WGSL helper function that checks if UV coordinates are within the 0-1 range
4
+ *
5
+ * @type {string}
6
+ * @constant
7
+ */
1
8
  export const WgslIsInside = `
2
9
  fn isInside(uv: vec2<f32>) -> f32 {
3
10
  let s = step(vec2<f32>(0.0), uv) * step(uv, vec2<f32>(1.0));
4
11
  return s.x * s.y;
5
12
  }`;
13
+ /**
14
+ * @description フルスクリーン四角形の頂点座標定義(NDC空間)
15
+ * Full-screen quad vertex positions definition in NDC space
16
+ *
17
+ * @type {string}
18
+ * @constant
19
+ */
6
20
  export const WgslFullscreenPositions = `
7
21
  const positions = array<vec2<f32>, 6>(
8
22
  vec2<f32>(-1.0, -1.0),
@@ -12,6 +26,13 @@ export const WgslFullscreenPositions = `
12
26
  vec2<f32>( 1.0, -1.0),
13
27
  vec2<f32>( 1.0, 1.0)
14
28
  );`;
29
+ /**
30
+ * @description 単位四角形の頂点座標定義(0〜1空間)
31
+ * Unit quad vertex positions definition in 0-1 space
32
+ *
33
+ * @type {string}
34
+ * @constant
35
+ */
15
36
  export const WgslUnitQuadVertices = `
16
37
  const vertices = array<vec2<f32>, 6>(
17
38
  vec2<f32>(0.0, 0.0),
@@ -21,17 +42,15 @@ export const WgslUnitQuadVertices = `
21
42
  vec2<f32>(1.0, 0.0),
22
43
  vec2<f32>(1.0, 1.0)
23
44
  );`;
45
+ /**
46
+ * @description 標準的な頂点シェーダー出力構造体のWGSL定義
47
+ * WGSL definition of the standard vertex shader output struct
48
+ *
49
+ * @type {string}
50
+ * @constant
51
+ */
24
52
  export const WgslVertexOutput = `
25
53
  struct VertexOutput {
26
54
  @builtin(position) position: vec4<f32>,
27
55
  @location(0) texCoord: vec2<f32>,
28
56
  }`;
29
- export const WgslFullscreenTexCoords = `
30
- const texCoords = array<vec2<f32>, 6>(
31
- vec2<f32>(0.0, 1.0),
32
- vec2<f32>(1.0, 1.0),
33
- vec2<f32>(0.0, 0.0),
34
- vec2<f32>(0.0, 0.0),
35
- vec2<f32>(1.0, 1.0),
36
- vec2<f32>(1.0, 0.0)
37
- );`;
@@ -1,2 +1,16 @@
1
+ /**
2
+ * @description 頂点カラーをそのまま出力する基本フラグメントシェーダー
3
+ * Basic fragment shader that outputs vertex color directly
4
+ *
5
+ * @type {string}
6
+ * @constant
7
+ */
1
8
  export declare const BasicFragment = "\nstruct VertexOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) texCoord: vec2<f32>,\n @location(1) color: vec4<f32>,\n}\n\n@fragment\nfn main(input: VertexOutput) -> @location(0) vec4<f32> {\n return input.color;\n}\n";
9
+ /**
10
+ * @description テクスチャサンプリングと頂点カラーを乗算するフラグメントシェーダー
11
+ * Fragment shader that multiplies texture sampling with vertex color
12
+ *
13
+ * @type {string}
14
+ * @constant
15
+ */
2
16
  export declare const TextureFragment = "\nstruct VertexOutput {\n @builtin(position) position: vec4<f32>,\n @location(0) texCoord: vec2<f32>,\n @location(1) color: vec4<f32>,\n}\n\n@group(0) @binding(1) var textureSampler: sampler;\n@group(0) @binding(2) var textureData: texture_2d<f32>;\n\n@fragment\nfn main(input: VertexOutput) -> @location(0) vec4<f32> {\n let textureColor = textureSampleLevel(textureData, textureSampler, input.texCoord, 0);\n return textureColor * input.color;\n}\n";