@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.
- package/package.json +3 -3
- package/src/AtlasManager.d.ts +75 -6
- package/src/AtlasManager.js +106 -30
- package/src/AttachmentManager/service/AttachmentManagerCreateAttachmentObjectService.d.ts +2 -2
- package/src/AttachmentManager/service/AttachmentManagerCreateAttachmentObjectService.js +3 -3
- package/src/AttachmentManager/service/AttachmentManagerCreateColorBufferService.d.ts +4 -4
- package/src/AttachmentManager/service/AttachmentManagerCreateColorBufferService.js +4 -4
- package/src/AttachmentManager/service/AttachmentManagerCreateStencilBufferService.d.ts +5 -5
- package/src/AttachmentManager/service/AttachmentManagerCreateStencilBufferService.js +6 -6
- package/src/AttachmentManager/service/AttachmentManagerCreateTextureObjectService.d.ts +6 -6
- package/src/AttachmentManager/service/AttachmentManagerCreateTextureObjectService.js +7 -7
- package/src/AttachmentManager/service/AttachmentManagerGetColorBufferService.d.ts +6 -6
- package/src/AttachmentManager/service/AttachmentManagerGetColorBufferService.js +9 -9
- package/src/AttachmentManager/service/AttachmentManagerGetStencilBufferService.d.ts +6 -6
- package/src/AttachmentManager/service/AttachmentManagerGetStencilBufferService.js +10 -10
- package/src/AttachmentManager/service/AttachmentManagerGetTextureService.d.ts +7 -7
- package/src/AttachmentManager/service/AttachmentManagerGetTextureService.js +10 -10
- package/src/AttachmentManager/service/AttachmentManagerReleaseTextureService.d.ts +3 -3
- package/src/AttachmentManager/service/AttachmentManagerReleaseTextureService.js +7 -7
- package/src/AttachmentManager/usecase/AttachmentManagerGetAttachmentObjectUseCase.d.ts +10 -10
- package/src/AttachmentManager/usecase/AttachmentManagerGetAttachmentObjectUseCase.js +16 -16
- package/src/AttachmentManager/usecase/AttachmentManagerReleaseAttachmentUseCase.d.ts +6 -6
- package/src/AttachmentManager/usecase/AttachmentManagerReleaseAttachmentUseCase.js +10 -10
- package/src/AttachmentManager.d.ts +28 -6
- package/src/AttachmentManager.js +28 -23
- package/src/BezierConverter/BezierConverter.d.ts +9 -3
- package/src/BezierConverter/BezierConverter.js +5 -3
- package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.d.ts +2 -13
- package/src/BezierConverter/usecase/BezierConverterAdaptiveCubicToQuadUseCase.js +13 -25
- package/src/Blend/BlendInstancedManager.d.ts +19 -15
- package/src/Blend/BlendInstancedManager.js +35 -22
- package/src/Blend/usecase/BlendApplyComplexBlendUseCase.d.ts +9 -2
- package/src/Blend/usecase/BlendApplyComplexBlendUseCase.js +28 -17
- package/src/Blend.d.ts +20 -2
- package/src/Blend.js +20 -4
- package/src/BufferManager/service/BufferManagerReleaseUniformBufferService.js +2 -2
- package/src/BufferManager/service/BufferManagerReleaseVertexBufferService.js +2 -2
- package/src/BufferManager/service/BufferManagerUpdateIndirectBufferService.d.ts +1 -0
- package/src/BufferManager/service/BufferManagerUpdateIndirectBufferService.js +1 -0
- package/src/BufferManager/usecase/BufferManagerCleanupStorageBuffersUseCase.d.ts +1 -0
- package/src/BufferManager/usecase/BufferManagerCleanupStorageBuffersUseCase.js +1 -0
- package/src/BufferManager.d.ts +108 -43
- package/src/BufferManager.js +113 -153
- package/src/Context/service/ContextComputeBitmapMatrixService.d.ts +7 -0
- package/src/Context/service/ContextComputeBitmapMatrixService.js +7 -0
- package/src/Context/service/ContextComputeGradientMatrixService.d.ts +9 -1
- package/src/Context/service/ContextComputeGradientMatrixService.js +15 -7
- package/src/Context/service/ContextFillSimpleService.d.ts +14 -0
- package/src/Context/service/ContextFillSimpleService.js +14 -0
- package/src/Context/service/ContextFillWithStencilMainService.d.ts +11 -0
- package/src/Context/service/ContextFillWithStencilMainService.js +11 -0
- package/src/Context/service/ContextFillWithStencilService.d.ts +11 -0
- package/src/Context/service/ContextFillWithStencilService.js +11 -0
- package/src/Context/usecase/ContextApplyFilterUseCase.d.ts +17 -0
- package/src/Context/usecase/ContextApplyFilterUseCase.js +201 -62
- package/src/Context/usecase/ContextBitmapFillUseCase.d.ts +23 -0
- package/src/Context/usecase/ContextBitmapFillUseCase.js +47 -0
- package/src/Context/usecase/ContextBitmapStrokeUseCase.d.ts +23 -0
- package/src/Context/usecase/ContextBitmapStrokeUseCase.js +35 -0
- package/src/Context/usecase/ContextClipUseCase.d.ts +15 -0
- package/src/Context/usecase/ContextClipUseCase.js +19 -0
- package/src/Context/usecase/ContextContainerEndLayerUseCase.d.ts +21 -1
- package/src/Context/usecase/ContextContainerEndLayerUseCase.js +195 -104
- package/src/Context/usecase/ContextDrawArraysInstancedUseCase.d.ts +13 -0
- package/src/Context/usecase/ContextDrawArraysInstancedUseCase.js +41 -20
- package/src/Context/usecase/ContextDrawIndirectUseCase.d.ts +16 -1
- package/src/Context/usecase/ContextDrawIndirectUseCase.js +53 -30
- package/src/Context/usecase/ContextGradientFillUseCase.d.ts +23 -0
- package/src/Context/usecase/ContextGradientFillUseCase.js +47 -0
- package/src/Context/usecase/ContextGradientStrokeUseCase.d.ts +23 -0
- package/src/Context/usecase/ContextGradientStrokeUseCase.js +35 -0
- package/src/Context/usecase/ContextProcessComplexBlendQueueUseCase.d.ts +13 -1
- package/src/Context/usecase/ContextProcessComplexBlendQueueUseCase.js +126 -60
- package/src/Context.d.ts +445 -63
- package/src/Context.js +566 -144
- package/src/FillTexturePool.d.ts +39 -0
- package/src/FillTexturePool.js +70 -7
- package/src/Filter/BevelFilter/FilterApplyBevelFilterUseCase.d.ts +21 -2
- package/src/Filter/BevelFilter/FilterApplyBevelFilterUseCase.js +33 -26
- package/src/Filter/BlurFilter/FilterApplyBlurFilterUseCase.d.ts +5 -5
- package/src/Filter/BlurFilter/FilterApplyBlurFilterUseCase.js +81 -64
- package/src/Filter/BlurFilterUseCase.d.ts +15 -11
- package/src/Filter/BlurFilterUseCase.js +22 -17
- package/src/Filter/ColorMatrixFilter/FilterApplyColorMatrixFilterUseCase.d.ts +2 -2
- package/src/Filter/ColorMatrixFilter/FilterApplyColorMatrixFilterUseCase.js +5 -5
- package/src/Filter/ConvolutionFilter/FilterApplyConvolutionFilterUseCase.d.ts +15 -1
- package/src/Filter/ConvolutionFilter/FilterApplyConvolutionFilterUseCase.js +23 -17
- package/src/Filter/DisplacementMapFilter/FilterApplyDisplacementMapFilterUseCase.d.ts +20 -1
- package/src/Filter/DisplacementMapFilter/FilterApplyDisplacementMapFilterUseCase.js +37 -26
- package/src/Filter/DropShadowFilter/FilterApplyDropShadowFilterUseCase.d.ts +7 -7
- package/src/Filter/DropShadowFilter/FilterApplyDropShadowFilterUseCase.js +19 -31
- package/src/Filter/FilterGradientLUTCache.js +2 -0
- package/src/Filter/FilterUtil.d.ts +23 -0
- package/src/Filter/FilterUtil.js +33 -0
- package/src/Filter/GlowFilter/FilterApplyGlowFilterUseCase.d.ts +5 -5
- package/src/Filter/GlowFilter/FilterApplyGlowFilterUseCase.js +12 -21
- package/src/Filter/GradientBevelFilter/FilterApplyGradientBevelFilterUseCase.d.ts +6 -6
- package/src/Filter/GradientBevelFilter/FilterApplyGradientBevelFilterUseCase.js +16 -19
- package/src/Filter/GradientGlowFilter/FilterApplyGradientGlowFilterUseCase.d.ts +5 -5
- package/src/Filter/GradientGlowFilter/FilterApplyGradientGlowFilterUseCase.js +13 -16
- package/src/FrameBufferManager/service/FrameBufferManagerCreateRenderPassDescriptorService.d.ts +13 -1
- package/src/FrameBufferManager/service/FrameBufferManagerCreateRenderPassDescriptorService.js +30 -3
- package/src/FrameBufferManager/service/FrameBufferManagerCreateStencilRenderPassDescriptorService.d.ts +11 -1
- package/src/FrameBufferManager/service/FrameBufferManagerCreateStencilRenderPassDescriptorService.js +36 -6
- package/src/FrameBufferManager/usecase/FrameBufferManagerCreateAttachmentUseCase.d.ts +10 -10
- package/src/FrameBufferManager/usecase/FrameBufferManagerCreateAttachmentUseCase.js +15 -15
- package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseTemporaryAttachmentUseCase.d.ts +4 -4
- package/src/FrameBufferManager/usecase/FrameBufferManagerReleaseTemporaryAttachmentUseCase.js +5 -5
- package/src/FrameBufferManager.d.ts +95 -3
- package/src/FrameBufferManager.js +97 -8
- package/src/Gradient/GradientLUTCache.d.ts +36 -4
- package/src/Gradient/GradientLUTCache.js +61 -5
- package/src/Gradient/GradientLUTGenerator.d.ts +26 -14
- package/src/Gradient/GradientLUTGenerator.js +74 -43
- package/src/Mask/service/MaskUnionMaskService.d.ts +16 -1
- package/src/Mask/service/MaskUnionMaskService.js +45 -31
- package/src/Mask.d.ts +57 -3
- package/src/Mask.js +75 -11
- package/src/Mesh/service/MeshFillGenerateService.d.ts +4 -4
- package/src/Mesh/service/MeshFillGenerateService.js +4 -4
- package/src/Mesh/service/MeshStrokeFillGenerateService.d.ts +4 -4
- package/src/Mesh/service/MeshStrokeFillGenerateService.js +4 -4
- package/src/Mesh/usecase/MeshBitmapStrokeGenerateUseCase.d.ts +3 -3
- package/src/Mesh/usecase/MeshBitmapStrokeGenerateUseCase.js +10 -3
- package/src/Mesh/usecase/MeshFillGenerateUseCase.d.ts +2 -2
- package/src/Mesh/usecase/MeshFillGenerateUseCase.js +9 -2
- package/src/Mesh/usecase/MeshGradientStrokeGenerateUseCase.d.ts +3 -3
- package/src/Mesh/usecase/MeshGradientStrokeGenerateUseCase.js +10 -3
- package/src/Mesh/usecase/MeshStrokeGenerateUseCase.d.ts +8 -14
- package/src/Mesh/usecase/MeshStrokeGenerateUseCase.js +214 -129
- package/src/PathCommand.d.ts +24 -23
- package/src/PathCommand.js +25 -79
- package/src/Shader/PipelineManager.d.ts +223 -6
- package/src/Shader/PipelineManager.js +308 -66
- package/src/Shader/ShaderInstancedManager.d.ts +17 -0
- package/src/Shader/ShaderInstancedManager.js +17 -0
- package/src/Shader/ShaderSource.d.ts +317 -12
- package/src/Shader/ShaderSource.js +328 -39
- package/src/Shader/wgsl/common/SharedWgsl.d.ts +28 -1
- package/src/Shader/wgsl/common/SharedWgsl.js +28 -9
- package/src/Shader/wgsl/fragment/BasicFragment.d.ts +14 -0
- package/src/Shader/wgsl/fragment/BasicFragment.js +14 -0
- package/src/Shader/wgsl/fragment/BitmapFragment.d.ts +7 -0
- package/src/Shader/wgsl/fragment/BitmapFragment.js +7 -0
- package/src/Shader/wgsl/fragment/EffectFragment.d.ts +42 -0
- package/src/Shader/wgsl/fragment/EffectFragment.js +42 -0
- package/src/Shader/wgsl/fragment/FillFragment.d.ts +7 -0
- package/src/Shader/wgsl/fragment/FillFragment.js +7 -0
- package/src/Shader/wgsl/fragment/FilterFragment.d.ts +70 -0
- package/src/Shader/wgsl/fragment/FilterFragment.js +70 -0
- package/src/Shader/wgsl/fragment/GradientFragment.d.ts +21 -0
- package/src/Shader/wgsl/fragment/GradientFragment.js +43 -8
- package/src/Shader/wgsl/fragment/InstancedFragment.d.ts +7 -0
- package/src/Shader/wgsl/fragment/InstancedFragment.js +7 -0
- package/src/Shader/wgsl/fragment/MaskFragment.d.ts +7 -0
- package/src/Shader/wgsl/fragment/MaskFragment.js +7 -0
- package/src/Shader/wgsl/fragment/StencilFragment.d.ts +14 -0
- package/src/Shader/wgsl/fragment/StencilFragment.js +14 -0
- package/src/Shader/wgsl/vertex/BasicVertex.d.ts +7 -0
- package/src/Shader/wgsl/vertex/BasicVertex.js +7 -0
- package/src/Shader/wgsl/vertex/BitmapVertex.d.ts +7 -0
- package/src/Shader/wgsl/vertex/BitmapVertex.js +7 -0
- package/src/Shader/wgsl/vertex/FillVertex.d.ts +7 -0
- package/src/Shader/wgsl/vertex/FillVertex.js +7 -0
- package/src/Shader/wgsl/vertex/FilterVertex.d.ts +77 -1
- package/src/Shader/wgsl/vertex/FilterVertex.js +135 -42
- package/src/Shader/wgsl/vertex/GradientVertex.d.ts +7 -0
- package/src/Shader/wgsl/vertex/GradientVertex.js +7 -0
- package/src/Shader/wgsl/vertex/InstancedVertex.d.ts +7 -0
- package/src/Shader/wgsl/vertex/InstancedVertex.js +7 -0
- package/src/Shader/wgsl/vertex/MaskVertex.d.ts +7 -0
- package/src/Shader/wgsl/vertex/MaskVertex.js +7 -0
- package/src/Shader/wgsl/vertex/StencilVertex.d.ts +14 -0
- package/src/Shader/wgsl/vertex/StencilVertex.js +14 -0
- package/src/TextureManager/service/TextureManagerInitializeSamplersService.d.ts +2 -2
- package/src/TextureManager/service/TextureManagerInitializeSamplersService.js +2 -2
- package/src/TextureManager.d.ts +36 -5
- package/src/TextureManager.js +36 -24
- package/src/TexturePool/service/TexturePoolCleanupService.d.ts +4 -4
- package/src/TexturePool/service/TexturePoolCleanupService.js +6 -6
- package/src/TexturePool/service/TexturePoolReleaseService.d.ts +4 -4
- package/src/TexturePool/service/TexturePoolReleaseService.js +5 -5
- package/src/TexturePool/usecase/TexturePoolAcquireUseCase.d.ts +10 -10
- package/src/TexturePool/usecase/TexturePoolAcquireUseCase.js +19 -18
- package/src/TexturePool.d.ts +36 -35
- package/src/TexturePool.js +44 -65
- package/src/WebGPUUtil.d.ts +79 -34
- package/src/WebGPUUtil.js +79 -36
- package/src/interface/IAttachmentObject.d.ts +36 -0
- package/src/interface/IBlendMode.d.ts +7 -0
- package/src/interface/IBlendState.d.ts +8 -0
- package/src/interface/IBounds.d.ts +23 -0
- package/src/interface/IColorBufferObject.d.ts +28 -0
- package/src/interface/IComplexBlendItem.d.ts +48 -0
- package/src/interface/IFilterConfig.d.ts +28 -2
- package/src/interface/IGradientStop.d.ts +20 -0
- package/src/interface/ILocalFilterConfig.d.ts +32 -2
- package/src/interface/IMeshResult.d.ts +8 -0
- package/src/interface/IPoint.d.ts +12 -0
- package/src/interface/IPooledTexture.d.ts +24 -0
- package/src/interface/IQuadraticSegment.d.ts +8 -0
- package/src/interface/IStencilBufferObject.d.ts +28 -0
- package/src/interface/IStorageBufferConfig.d.ts +8 -1
- package/src/interface/ITextureObject.d.ts +28 -0
- package/src/AttachmentManager/service/AttachmentManagerCreateRenderPassDescriptorService.d.ts +0 -5
- package/src/AttachmentManager/service/AttachmentManagerCreateRenderPassDescriptorService.js +0 -42
- package/src/Blend/service/BlendAddService.d.ts +0 -1
- package/src/Blend/service/BlendAddService.js +0 -8
- package/src/Blend/service/BlendAlphaService.d.ts +0 -1
- package/src/Blend/service/BlendAlphaService.js +0 -8
- package/src/Blend/service/BlendEraseService.d.ts +0 -1
- package/src/Blend/service/BlendEraseService.js +0 -8
- package/src/Blend/service/BlendGetStateService.d.ts +0 -12
- package/src/Blend/service/BlendGetStateService.js +0 -13
- package/src/Blend/service/BlendOneZeroService.d.ts +0 -1
- package/src/Blend/service/BlendOneZeroService.js +0 -8
- package/src/Blend/service/BlendResetService.d.ts +0 -1
- package/src/Blend/service/BlendResetService.js +0 -8
- package/src/Blend/service/BlendScreenService.d.ts +0 -1
- package/src/Blend/service/BlendScreenService.js +0 -8
- package/src/Blend/service/BlendSetModeService.d.ts +0 -2
- package/src/Blend/service/BlendSetModeService.js +0 -4
- package/src/Blend/usecase/BlendOperationUseCase.d.ts +0 -11
- package/src/Blend/usecase/BlendOperationUseCase.js +0 -31
- package/src/BufferManager/usecase/BufferManagerReleaseStorageBufferUseCase.d.ts +0 -9
- package/src/BufferManager/usecase/BufferManagerReleaseStorageBufferUseCase.js +0 -15
- package/src/Compute/ComputePipelineManager.d.ts +0 -61
- package/src/Compute/ComputePipelineManager.js +0 -313
- package/src/Compute/service/ComputeExecuteBlurService.d.ts +0 -21
- package/src/Compute/service/ComputeExecuteBlurService.js +0 -81
- package/src/Filter/BevelFilterShader.d.ts +0 -2
- package/src/Filter/BevelFilterShader.js +0 -107
- package/src/Filter/BitmapFilterShader.d.ts +0 -2
- package/src/Filter/BitmapFilterShader.js +0 -207
- package/src/Filter/BlurFilter/service/BlurFilterComputeShaderService.d.ts +0 -40
- package/src/Filter/BlurFilter/service/BlurFilterComputeShaderService.js +0 -51
- package/src/Filter/BlurFilter/usecase/FilterApplyBlurComputeUseCase.d.ts +0 -25
- package/src/Filter/BlurFilter/usecase/FilterApplyBlurComputeUseCase.js +0 -180
- package/src/Filter/BlurFilterShader.d.ts +0 -5
- package/src/Filter/BlurFilterShader.js +0 -109
- package/src/Filter/ColorMatrixFilterShader.d.ts +0 -4
- package/src/Filter/ColorMatrixFilterShader.js +0 -51
- package/src/Filter/ConvolutionFilterShader.d.ts +0 -2
- package/src/Filter/ConvolutionFilterShader.js +0 -115
- package/src/Filter/DisplacementMapFilterShader.d.ts +0 -2
- package/src/Filter/DisplacementMapFilterShader.js +0 -114
- package/src/Filter/DropShadowFilterShader.d.ts +0 -4
- package/src/Filter/DropShadowFilterShader.js +0 -93
- package/src/Filter/GlowFilterShader.d.ts +0 -4
- package/src/Filter/GlowFilterShader.js +0 -66
- package/src/FrameBufferManager/service/FrameBufferManagerFlushPendingReleasesService.d.ts +0 -11
- package/src/FrameBufferManager/service/FrameBufferManagerFlushPendingReleasesService.js +0 -19
- package/src/Mask/usecase/MaskBindUseCase.d.ts +0 -10
- package/src/Mask/usecase/MaskBindUseCase.js +0 -20
- package/src/Mesh/service/MeshLerpService.d.ts +0 -13
- package/src/Mesh/service/MeshLerpService.js +0 -17
- package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.d.ts +0 -14
- package/src/Mesh/usecase/MeshSplitQuadraticBezierUseCase.js +0 -28
- package/src/Mesh/usecase/MeshStrokeFillGenerateUseCase.d.ts +0 -18
- package/src/Mesh/usecase/MeshStrokeFillGenerateUseCase.js +0 -54
- package/src/SamplerCache/service/SamplerCacheCreateCommonSamplersService.d.ts +0 -11
- package/src/SamplerCache/service/SamplerCacheCreateCommonSamplersService.js +0 -35
- package/src/SamplerCache/service/SamplerCacheGenerateKeyService.d.ts +0 -13
- package/src/SamplerCache/service/SamplerCacheGenerateKeyService.js +0 -15
- package/src/SamplerCache/service/SamplerCacheGetOrCreateService.d.ts +0 -15
- package/src/SamplerCache/service/SamplerCacheGetOrCreateService.js +0 -30
- package/src/SamplerCache.d.ts +0 -18
- package/src/SamplerCache.js +0 -61
- package/src/Shader/BlendModeShader.d.ts +0 -51
- package/src/Shader/BlendModeShader.js +0 -71
- package/src/Shader/GradientLUTGenerator/service/GradientLUTCalculateResolutionService.d.ts +0 -12
- package/src/Shader/GradientLUTGenerator/service/GradientLUTCalculateResolutionService.js +0 -28
- package/src/Shader/GradientLUTGenerator/service/GradientLUTGeneratePixelsService.d.ts +0 -13
- package/src/Shader/GradientLUTGenerator/service/GradientLUTGeneratePixelsService.js +0 -61
- package/src/Shader/GradientLUTGenerator/service/GradientLUTInterpolateColorService.d.ts +0 -19
- package/src/Shader/GradientLUTGenerator/service/GradientLUTInterpolateColorService.js +0 -37
- package/src/Shader/GradientLUTGenerator/service/GradientLUTParseStopsService.d.ts +0 -11
- package/src/Shader/GradientLUTGenerator/service/GradientLUTParseStopsService.js +0 -24
- package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateDataUseCase.d.ts +0 -14
- package/src/Shader/GradientLUTGenerator/usecase/GradientLUTGenerateDataUseCase.js +0 -24
- package/src/Shader/wgsl/fragment/BlendFragment.d.ts +0 -8
- package/src/Shader/wgsl/fragment/BlendFragment.js +0 -63
- package/src/TextureManager/usecase/TextureManagerCreateTextureFromImageBitmapUseCase.d.ts +0 -13
- package/src/TextureManager/usecase/TextureManagerCreateTextureFromImageBitmapUseCase.js +0 -30
- package/src/TextureManager/usecase/TextureManagerCreateTextureFromPixelsUseCase.d.ts +0 -15
- package/src/TextureManager/usecase/TextureManagerCreateTextureFromPixelsUseCase.js +0 -26
- package/src/TexturePool/service/TexturePoolEvictOldestService.d.ts +0 -11
- package/src/TexturePool/service/TexturePoolEvictOldestService.js +0 -24
- package/src/interface/ICachedBindGroup.d.ts +0 -8
- package/src/interface/ICachedBindGroup.js +0 -1
- package/src/interface/IGradientLUTData.d.ts +0 -8
- package/src/interface/IGradientLUTData.js +0 -1
- package/src/interface/IPooledBuffer.d.ts +0 -8
- package/src/interface/IPooledBuffer.js +0 -1
- package/src/interface/IRectangleInfo.d.ts +0 -13
- package/src/interface/IRectangleInfo.js +0 -1
|
@@ -3,9 +3,29 @@
|
|
|
3
3
|
* Gradient stop type definition
|
|
4
4
|
*/
|
|
5
5
|
export interface IGradientStop {
|
|
6
|
+
/**
|
|
7
|
+
* @description グラデーション位置(0.0〜1.0)
|
|
8
|
+
* Gradient position ratio (0.0 to 1.0)
|
|
9
|
+
*/
|
|
6
10
|
ratio: number;
|
|
11
|
+
/**
|
|
12
|
+
* @description 赤チャンネル値(0〜255)
|
|
13
|
+
* Red channel value (0 to 255)
|
|
14
|
+
*/
|
|
7
15
|
r: number;
|
|
16
|
+
/**
|
|
17
|
+
* @description 緑チャンネル値(0〜255)
|
|
18
|
+
* Green channel value (0 to 255)
|
|
19
|
+
*/
|
|
8
20
|
g: number;
|
|
21
|
+
/**
|
|
22
|
+
* @description 青チャンネル値(0〜255)
|
|
23
|
+
* Blue channel value (0 to 255)
|
|
24
|
+
*/
|
|
9
25
|
b: number;
|
|
26
|
+
/**
|
|
27
|
+
* @description アルファチャンネル値(0〜255)
|
|
28
|
+
* Alpha channel value (0 to 255)
|
|
29
|
+
*/
|
|
10
30
|
a: number;
|
|
11
31
|
}
|
|
@@ -3,19 +3,49 @@ import type { BufferManager } from "../BufferManager";
|
|
|
3
3
|
import type { FrameBufferManager } from "../FrameBufferManager";
|
|
4
4
|
import type { PipelineManager } from "../Shader/PipelineManager";
|
|
5
5
|
import type { TextureManager } from "../TextureManager";
|
|
6
|
-
import type { ComputePipelineManager } from "../Compute/ComputePipelineManager";
|
|
7
6
|
/**
|
|
8
7
|
* @description フィルター適用時のローカル設定(ContextApplyFilterUseCase用)
|
|
9
8
|
* Local filter configuration for ContextApplyFilterUseCase
|
|
10
9
|
*/
|
|
11
10
|
export interface ILocalFilterConfig {
|
|
11
|
+
/**
|
|
12
|
+
* @description GPUデバイス
|
|
13
|
+
* GPU device instance
|
|
14
|
+
*/
|
|
12
15
|
device: GPUDevice;
|
|
16
|
+
/**
|
|
17
|
+
* @description GPUコマンドエンコーダー
|
|
18
|
+
* GPU command encoder
|
|
19
|
+
*/
|
|
13
20
|
commandEncoder: GPUCommandEncoder;
|
|
21
|
+
/**
|
|
22
|
+
* @description バッファマネージャー
|
|
23
|
+
* Buffer manager instance
|
|
24
|
+
*/
|
|
14
25
|
bufferManager: BufferManager;
|
|
26
|
+
/**
|
|
27
|
+
* @description フレームバッファマネージャー
|
|
28
|
+
* Frame buffer manager instance
|
|
29
|
+
*/
|
|
15
30
|
frameBufferManager: FrameBufferManager;
|
|
31
|
+
/**
|
|
32
|
+
* @description パイプラインマネージャー
|
|
33
|
+
* Pipeline manager instance
|
|
34
|
+
*/
|
|
16
35
|
pipelineManager: PipelineManager;
|
|
36
|
+
/**
|
|
37
|
+
* @description テクスチャマネージャー
|
|
38
|
+
* Texture manager instance
|
|
39
|
+
*/
|
|
17
40
|
textureManager: TextureManager;
|
|
41
|
+
/**
|
|
42
|
+
* @description メインのアタッチメントオブジェクト(任意)
|
|
43
|
+
* Main attachment object (optional)
|
|
44
|
+
*/
|
|
18
45
|
mainAttachment?: IAttachmentObject;
|
|
19
|
-
|
|
46
|
+
/**
|
|
47
|
+
* @description フレームテクスチャの配列
|
|
48
|
+
* Array of frame textures
|
|
49
|
+
*/
|
|
20
50
|
frameTextures: GPUTexture[];
|
|
21
51
|
}
|
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
* Common interface for mesh generation results
|
|
4
4
|
*/
|
|
5
5
|
export interface IMeshResult {
|
|
6
|
+
/**
|
|
7
|
+
* @description 頂点データバッファ
|
|
8
|
+
* Vertex data buffer
|
|
9
|
+
*/
|
|
6
10
|
buffer: Float32Array;
|
|
11
|
+
/**
|
|
12
|
+
* @description インデックスの数(描画する三角形の頂点数)
|
|
13
|
+
* Number of indices (vertex count for drawing triangles)
|
|
14
|
+
*/
|
|
7
15
|
indexCount: number;
|
|
8
16
|
}
|
|
@@ -3,11 +3,35 @@
|
|
|
3
3
|
* Pooled texture interface
|
|
4
4
|
*/
|
|
5
5
|
export interface IPooledTexture {
|
|
6
|
+
/**
|
|
7
|
+
* @description GPUテクスチャリソース
|
|
8
|
+
* GPU texture resource
|
|
9
|
+
*/
|
|
6
10
|
texture: GPUTexture;
|
|
11
|
+
/**
|
|
12
|
+
* @description テクスチャの幅(ピクセル)
|
|
13
|
+
* Width of the texture in pixels
|
|
14
|
+
*/
|
|
7
15
|
width: number;
|
|
16
|
+
/**
|
|
17
|
+
* @description テクスチャの高さ(ピクセル)
|
|
18
|
+
* Height of the texture in pixels
|
|
19
|
+
*/
|
|
8
20
|
height: number;
|
|
21
|
+
/**
|
|
22
|
+
* @description テクスチャフォーマット
|
|
23
|
+
* Texture format
|
|
24
|
+
*/
|
|
9
25
|
format: GPUTextureFormat;
|
|
26
|
+
/**
|
|
27
|
+
* @description 最後に使用されたフレーム番号
|
|
28
|
+
* Last frame number when this texture was used
|
|
29
|
+
*/
|
|
10
30
|
lastUsedFrame: number;
|
|
31
|
+
/**
|
|
32
|
+
* @description 使用中フラグ
|
|
33
|
+
* Whether this texture is currently in use
|
|
34
|
+
*/
|
|
11
35
|
inUse: boolean;
|
|
12
36
|
}
|
|
13
37
|
/**
|
|
@@ -4,6 +4,14 @@ import type { IPoint } from "./IPoint";
|
|
|
4
4
|
* Quadratic bezier segment approximation
|
|
5
5
|
*/
|
|
6
6
|
export interface IQuadraticSegment {
|
|
7
|
+
/**
|
|
8
|
+
* @description 制御点
|
|
9
|
+
* Control point
|
|
10
|
+
*/
|
|
7
11
|
ctrl: IPoint;
|
|
12
|
+
/**
|
|
13
|
+
* @description 終点
|
|
14
|
+
* End point
|
|
15
|
+
*/
|
|
8
16
|
end: IPoint;
|
|
9
17
|
}
|
|
@@ -6,11 +6,39 @@
|
|
|
6
6
|
* リソースはGPUTextureを使用します。
|
|
7
7
|
*/
|
|
8
8
|
export interface IStencilBufferObject {
|
|
9
|
+
/**
|
|
10
|
+
* @description ステンシルバッファの一意な識別子
|
|
11
|
+
* Unique identifier for the stencil buffer
|
|
12
|
+
*/
|
|
9
13
|
id: number;
|
|
14
|
+
/**
|
|
15
|
+
* @description GPUテクスチャリソース
|
|
16
|
+
* GPU texture resource
|
|
17
|
+
*/
|
|
10
18
|
resource: GPUTexture;
|
|
19
|
+
/**
|
|
20
|
+
* @description テクスチャビュー(レンダーパスへのアタッチ用)
|
|
21
|
+
* Texture view for attaching to render passes
|
|
22
|
+
*/
|
|
11
23
|
view: GPUTextureView;
|
|
24
|
+
/**
|
|
25
|
+
* @description ステンシルバッファの幅(ピクセル)
|
|
26
|
+
* Width of the stencil buffer in pixels
|
|
27
|
+
*/
|
|
12
28
|
width: number;
|
|
29
|
+
/**
|
|
30
|
+
* @description ステンシルバッファの高さ(ピクセル)
|
|
31
|
+
* Height of the stencil buffer in pixels
|
|
32
|
+
*/
|
|
13
33
|
height: number;
|
|
34
|
+
/**
|
|
35
|
+
* @description バッファの面積(width × height)
|
|
36
|
+
* Area of the buffer (width × height)
|
|
37
|
+
*/
|
|
14
38
|
area: number;
|
|
39
|
+
/**
|
|
40
|
+
* @description バッファが変更されたかどうか
|
|
41
|
+
* Whether the buffer has been modified
|
|
42
|
+
*/
|
|
15
43
|
dirty: boolean;
|
|
16
44
|
}
|
|
@@ -5,14 +5,17 @@
|
|
|
5
5
|
export interface IStorageBufferConfig {
|
|
6
6
|
/**
|
|
7
7
|
* @description バッファサイズ(バイト)
|
|
8
|
+
* Buffer size in bytes
|
|
8
9
|
*/
|
|
9
10
|
size: number;
|
|
10
11
|
/**
|
|
11
|
-
* @description
|
|
12
|
+
* @description 使用目的フラグ
|
|
13
|
+
* Usage flags for the buffer
|
|
12
14
|
*/
|
|
13
15
|
usage: GPUBufferUsageFlags;
|
|
14
16
|
/**
|
|
15
17
|
* @description ラベル(デバッグ用)
|
|
18
|
+
* Label for debugging purposes
|
|
16
19
|
*/
|
|
17
20
|
label?: string;
|
|
18
21
|
}
|
|
@@ -23,18 +26,22 @@ export interface IStorageBufferConfig {
|
|
|
23
26
|
export interface IPooledStorageBuffer {
|
|
24
27
|
/**
|
|
25
28
|
* @description GPUバッファ
|
|
29
|
+
* GPU buffer instance
|
|
26
30
|
*/
|
|
27
31
|
buffer: GPUBuffer;
|
|
28
32
|
/**
|
|
29
33
|
* @description バッファサイズ(バイト)
|
|
34
|
+
* Buffer size in bytes
|
|
30
35
|
*/
|
|
31
36
|
size: number;
|
|
32
37
|
/**
|
|
33
38
|
* @description 使用中フラグ
|
|
39
|
+
* Whether this buffer is currently in use
|
|
34
40
|
*/
|
|
35
41
|
inUse: boolean;
|
|
36
42
|
/**
|
|
37
43
|
* @description 最後に使用されたフレーム番号
|
|
44
|
+
* Last frame number when this buffer was used
|
|
38
45
|
*/
|
|
39
46
|
lastUsedFrame: number;
|
|
40
47
|
}
|
|
@@ -6,11 +6,39 @@
|
|
|
6
6
|
* resourceプロパティを持ちます。
|
|
7
7
|
*/
|
|
8
8
|
export interface ITextureObject {
|
|
9
|
+
/**
|
|
10
|
+
* @description テクスチャの一意な識別子
|
|
11
|
+
* Unique identifier for the texture
|
|
12
|
+
*/
|
|
9
13
|
id: number;
|
|
14
|
+
/**
|
|
15
|
+
* @description GPUテクスチャリソース
|
|
16
|
+
* GPU texture resource
|
|
17
|
+
*/
|
|
10
18
|
resource: GPUTexture;
|
|
19
|
+
/**
|
|
20
|
+
* @description テクスチャビュー(シェーダーバインド用)
|
|
21
|
+
* Texture view for shader binding
|
|
22
|
+
*/
|
|
11
23
|
view: GPUTextureView;
|
|
24
|
+
/**
|
|
25
|
+
* @description テクスチャの幅(ピクセル)
|
|
26
|
+
* Width of the texture in pixels
|
|
27
|
+
*/
|
|
12
28
|
width: number;
|
|
29
|
+
/**
|
|
30
|
+
* @description テクスチャの高さ(ピクセル)
|
|
31
|
+
* Height of the texture in pixels
|
|
32
|
+
*/
|
|
13
33
|
height: number;
|
|
34
|
+
/**
|
|
35
|
+
* @description テクスチャの面積(width × height)
|
|
36
|
+
* Area of the texture (width × height)
|
|
37
|
+
*/
|
|
14
38
|
area: number;
|
|
39
|
+
/**
|
|
40
|
+
* @description スムージング(バイリニアフィルタリング)が有効かどうか
|
|
41
|
+
* Whether smoothing (bilinear filtering) is enabled
|
|
42
|
+
*/
|
|
15
43
|
smooth: boolean;
|
|
16
44
|
}
|
package/src/AttachmentManager/service/AttachmentManagerCreateRenderPassDescriptorService.d.ts
DELETED
|
@@ -1,5 +0,0 @@
|
|
|
1
|
-
import type { IAttachmentObject } from "../../interface/IAttachmentObject";
|
|
2
|
-
/**
|
|
3
|
-
* @description レンダーパスディスクリプタを作成(プリアロケート再利用)
|
|
4
|
-
*/
|
|
5
|
-
export declare const execute: (attachment: IAttachmentObject, r: number, g: number, b: number, a: number, loadOp?: GPULoadOp) => GPURenderPassDescriptor;
|
|
@@ -1,42 +0,0 @@
|
|
|
1
|
-
const $clearValue = { "r": 0, "g": 0, "b": 0, "a": 0 };
|
|
2
|
-
const $colorAttachment = {
|
|
3
|
-
"view": null,
|
|
4
|
-
"loadOp": "clear",
|
|
5
|
-
"storeOp": "store",
|
|
6
|
-
"clearValue": $clearValue
|
|
7
|
-
};
|
|
8
|
-
const $depthStencilAttachment = {
|
|
9
|
-
"view": null,
|
|
10
|
-
"depthLoadOp": "clear",
|
|
11
|
-
"depthStoreOp": "store",
|
|
12
|
-
"depthClearValue": 1.0,
|
|
13
|
-
"stencilLoadOp": "clear",
|
|
14
|
-
"stencilStoreOp": "store",
|
|
15
|
-
"stencilClearValue": 0
|
|
16
|
-
};
|
|
17
|
-
const $descriptor = {
|
|
18
|
-
"colorAttachments": [$colorAttachment]
|
|
19
|
-
};
|
|
20
|
-
/**
|
|
21
|
-
* @description レンダーパスディスクリプタを作成(プリアロケート再利用)
|
|
22
|
-
*/
|
|
23
|
-
export const execute = (attachment, r, g, b, a, loadOp = "clear") => {
|
|
24
|
-
const colorView = attachment.color?.view ?? attachment.texture?.view;
|
|
25
|
-
if (!colorView) {
|
|
26
|
-
throw new Error("No color view available for render pass");
|
|
27
|
-
}
|
|
28
|
-
$colorAttachment.view = colorView;
|
|
29
|
-
$colorAttachment.loadOp = loadOp;
|
|
30
|
-
$clearValue.r = r;
|
|
31
|
-
$clearValue.g = g;
|
|
32
|
-
$clearValue.b = b;
|
|
33
|
-
$clearValue.a = a;
|
|
34
|
-
if (attachment.stencil?.view) {
|
|
35
|
-
$depthStencilAttachment.view = attachment.stencil.view;
|
|
36
|
-
$descriptor.depthStencilAttachment = $depthStencilAttachment;
|
|
37
|
-
}
|
|
38
|
-
else {
|
|
39
|
-
$descriptor.depthStencilAttachment = undefined;
|
|
40
|
-
}
|
|
41
|
-
return $descriptor;
|
|
42
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const execute: () => boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const execute: () => boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const execute: () => boolean;
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { IBlendMode } from "../../interface/IBlendMode";
|
|
2
|
-
import type { IBlendState } from "../../Blend";
|
|
3
|
-
/**
|
|
4
|
-
* @description ブレンドモードからWebGPUブレンドステートを取得するサービス
|
|
5
|
-
* Service to get WebGPU blend state from blend mode
|
|
6
|
-
*
|
|
7
|
-
* @param {IBlendMode} mode
|
|
8
|
-
* @return {IBlendState}
|
|
9
|
-
* @method
|
|
10
|
-
* @protected
|
|
11
|
-
*/
|
|
12
|
-
export declare const execute: (mode: IBlendMode) => IBlendState;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { $getBlendState } from "../../Blend";
|
|
2
|
-
/**
|
|
3
|
-
* @description ブレンドモードからWebGPUブレンドステートを取得するサービス
|
|
4
|
-
* Service to get WebGPU blend state from blend mode
|
|
5
|
-
*
|
|
6
|
-
* @param {IBlendMode} mode
|
|
7
|
-
* @return {IBlendState}
|
|
8
|
-
* @method
|
|
9
|
-
* @protected
|
|
10
|
-
*/
|
|
11
|
-
export const execute = (mode) => {
|
|
12
|
-
return $getBlendState(mode);
|
|
13
|
-
};
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const execute: () => boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const execute: () => boolean;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
export declare const execute: () => boolean;
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import type { IBlendMode } from "../../interface/IBlendMode";
|
|
2
|
-
/**
|
|
3
|
-
* @description 設定されたブレンドモードへ切り替える
|
|
4
|
-
* Switch to the set blend mode
|
|
5
|
-
*
|
|
6
|
-
* @param {IBlendMode} operation
|
|
7
|
-
* @return {boolean} ブレンドモードが変更されたかどうか
|
|
8
|
-
* @method
|
|
9
|
-
* @protected
|
|
10
|
-
*/
|
|
11
|
-
export declare const execute: (operation: IBlendMode) => boolean;
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
import { execute as blendAddService } from "../service/BlendAddService";
|
|
2
|
-
import { execute as blendResetService } from "../service/BlendResetService";
|
|
3
|
-
import { execute as blendScreenService } from "../service/BlendScreenService";
|
|
4
|
-
import { execute as blendAlphaService } from "../service/BlendAlphaService";
|
|
5
|
-
import { execute as blendEraseService } from "../service/BlendEraseService";
|
|
6
|
-
import { execute as blendOneZeroService } from "../service/BlendOneZeroService";
|
|
7
|
-
/**
|
|
8
|
-
* @description 設定されたブレンドモードへ切り替える
|
|
9
|
-
* Switch to the set blend mode
|
|
10
|
-
*
|
|
11
|
-
* @param {IBlendMode} operation
|
|
12
|
-
* @return {boolean} ブレンドモードが変更されたかどうか
|
|
13
|
-
* @method
|
|
14
|
-
* @protected
|
|
15
|
-
*/
|
|
16
|
-
export const execute = (operation) => {
|
|
17
|
-
switch (operation) {
|
|
18
|
-
case "add":
|
|
19
|
-
return blendAddService();
|
|
20
|
-
case "screen":
|
|
21
|
-
return blendScreenService();
|
|
22
|
-
case "alpha":
|
|
23
|
-
return blendAlphaService();
|
|
24
|
-
case "erase":
|
|
25
|
-
return blendEraseService();
|
|
26
|
-
case "copy":
|
|
27
|
-
return blendOneZeroService();
|
|
28
|
-
default:
|
|
29
|
-
return blendResetService();
|
|
30
|
-
}
|
|
31
|
-
};
|
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import type { IPooledStorageBuffer } from "../../interface/IStorageBufferConfig";
|
|
2
|
-
/**
|
|
3
|
-
* @description Storage Bufferをプールに返却
|
|
4
|
-
* Release Storage Buffer back to pool
|
|
5
|
-
*
|
|
6
|
-
* @param {IPooledStorageBuffer[]} pool - Storage Bufferプール
|
|
7
|
-
* @param {GPUBuffer} buffer - 返却するバッファ
|
|
8
|
-
*/
|
|
9
|
-
export declare const execute: (pool: IPooledStorageBuffer[], buffer: GPUBuffer) => void;
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @description Storage Bufferをプールに返却
|
|
3
|
-
* Release Storage Buffer back to pool
|
|
4
|
-
*
|
|
5
|
-
* @param {IPooledStorageBuffer[]} pool - Storage Bufferプール
|
|
6
|
-
* @param {GPUBuffer} buffer - 返却するバッファ
|
|
7
|
-
*/
|
|
8
|
-
export const execute = (pool, buffer) => {
|
|
9
|
-
for (const entry of pool) {
|
|
10
|
-
if (entry.buffer === buffer) {
|
|
11
|
-
entry.inUse = false;
|
|
12
|
-
return;
|
|
13
|
-
}
|
|
14
|
-
}
|
|
15
|
-
};
|
|
@@ -1,61 +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 declare class ComputePipelineManager {
|
|
11
|
-
private device;
|
|
12
|
-
private pipelines;
|
|
13
|
-
private bindGroupLayouts;
|
|
14
|
-
/**
|
|
15
|
-
* @constructor
|
|
16
|
-
* @param {GPUDevice} device - WebGPU device
|
|
17
|
-
*/
|
|
18
|
-
constructor(device: GPUDevice);
|
|
19
|
-
/**
|
|
20
|
-
* @description ブラー用Compute Pipelineを初期化
|
|
21
|
-
* @private
|
|
22
|
-
*/
|
|
23
|
-
private initializeBlurPipelines;
|
|
24
|
-
/**
|
|
25
|
-
* @description ブラーCompute Pipelineを作成
|
|
26
|
-
* @param {string} name - パイプライン名
|
|
27
|
-
* @private
|
|
28
|
-
*/
|
|
29
|
-
private createBlurComputePipeline;
|
|
30
|
-
/**
|
|
31
|
-
* @description ブラーCompute Shaderコードを生成
|
|
32
|
-
* ボックスブラー(均一加重平均)を使用。Fragment Shaderと同一出力。
|
|
33
|
-
* @return {string} WGSLシェーダーコード
|
|
34
|
-
* @private
|
|
35
|
-
*/
|
|
36
|
-
private getBlurComputeShaderCode;
|
|
37
|
-
/**
|
|
38
|
-
* @description 共有メモリ版ブラーCompute Shaderコードを生成
|
|
39
|
-
* ワークグループ共有メモリでテクスチャ読み込みの重複を排除。
|
|
40
|
-
* radius >= 8 で通常版より高速。
|
|
41
|
-
* @return {string} WGSLシェーダーコード
|
|
42
|
-
* @private
|
|
43
|
-
*/
|
|
44
|
-
private getSharedBlurComputeShaderCode;
|
|
45
|
-
/**
|
|
46
|
-
* @description パイプラインを取得
|
|
47
|
-
* @param {string} name - パイプライン名
|
|
48
|
-
* @return {GPUComputePipeline | undefined}
|
|
49
|
-
*/
|
|
50
|
-
getPipeline(name: string): GPUComputePipeline | undefined;
|
|
51
|
-
/**
|
|
52
|
-
* @description BindGroupLayoutを取得
|
|
53
|
-
* @param {string} name - レイアウト名
|
|
54
|
-
* @return {GPUBindGroupLayout | undefined}
|
|
55
|
-
*/
|
|
56
|
-
getBindGroupLayout(name: string): GPUBindGroupLayout | undefined;
|
|
57
|
-
/**
|
|
58
|
-
* @description リソースを破棄
|
|
59
|
-
*/
|
|
60
|
-
destroy(): void;
|
|
61
|
-
}
|