@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
package/src/WebGPUUtil.d.ts
CHANGED
|
@@ -4,99 +4,144 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @type {number}
|
|
6
6
|
* @default 4
|
|
7
|
-
* @protected
|
|
8
|
-
*
|
|
9
|
-
* @note WebGL版と同じくMSAA 4xをデフォルトで有効化
|
|
10
|
-
* 曲線のアンチエイリアス品質向上のため
|
|
11
7
|
*/
|
|
12
|
-
export declare
|
|
8
|
+
export declare const $samples: number;
|
|
13
9
|
/**
|
|
14
|
-
* @description
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* @param {number} samples
|
|
18
|
-
* @return {void}
|
|
19
|
-
* @method
|
|
20
|
-
* @protected
|
|
10
|
+
* @description WebGPU描画ユーティリティクラス
|
|
11
|
+
* Utility class for WebGPU rendering operations
|
|
21
12
|
*/
|
|
22
|
-
export declare const $setSamples: (samples: number) => void;
|
|
23
13
|
export declare class WebGPUUtil {
|
|
14
|
+
/**
|
|
15
|
+
* @description GPUデバイスインスタンス
|
|
16
|
+
* GPU device instance
|
|
17
|
+
*
|
|
18
|
+
* @type {GPUDevice | null}
|
|
19
|
+
*/
|
|
24
20
|
private static device;
|
|
21
|
+
/**
|
|
22
|
+
* @description デバイスピクセル比率
|
|
23
|
+
* Device pixel ratio for high-DPI rendering
|
|
24
|
+
*
|
|
25
|
+
* @type {number}
|
|
26
|
+
*/
|
|
25
27
|
private static devicePixelRatio;
|
|
28
|
+
/**
|
|
29
|
+
* @description レンダリング最大サイズ(テクスチャアトラス用)
|
|
30
|
+
* Maximum render size for texture atlas
|
|
31
|
+
*
|
|
32
|
+
* @type {number}
|
|
33
|
+
*/
|
|
26
34
|
private static renderMaxSize;
|
|
35
|
+
/**
|
|
36
|
+
* @description Float32Array(4) のオブジェクトプール
|
|
37
|
+
* Object pool for Float32Array(4) instances
|
|
38
|
+
*
|
|
39
|
+
* @type {Float32Array[]}
|
|
40
|
+
*/
|
|
27
41
|
private static float32Array4Pool;
|
|
28
42
|
/**
|
|
29
|
-
* @description
|
|
30
|
-
*
|
|
43
|
+
* @description GPUデバイスを設定する
|
|
44
|
+
* Set the GPUDevice instance
|
|
45
|
+
*
|
|
46
|
+
* @param {GPUDevice} gpu_device - GPUデバイス / GPU device
|
|
31
47
|
* @return {void}
|
|
32
48
|
*/
|
|
33
49
|
static setDevice(gpu_device: GPUDevice): void;
|
|
34
50
|
/**
|
|
35
|
-
* @description
|
|
51
|
+
* @description GPUデバイスを取得する
|
|
52
|
+
* Get the GPUDevice instance
|
|
53
|
+
*
|
|
36
54
|
* @return {GPUDevice}
|
|
37
55
|
*/
|
|
38
56
|
static getDevice(): GPUDevice;
|
|
39
57
|
/**
|
|
40
|
-
* @description
|
|
41
|
-
*
|
|
58
|
+
* @description デバイスピクセル比率を設定する
|
|
59
|
+
* Set the device pixel ratio
|
|
60
|
+
*
|
|
61
|
+
* @param {number} ratio - ピクセル比率 / pixel ratio
|
|
42
62
|
* @return {void}
|
|
43
63
|
*/
|
|
44
64
|
static setDevicePixelRatio(ratio: number): void;
|
|
45
65
|
/**
|
|
46
|
-
* @description
|
|
66
|
+
* @description デバイスピクセル比率を取得する
|
|
67
|
+
* Get the device pixel ratio
|
|
68
|
+
*
|
|
47
69
|
* @return {number}
|
|
48
70
|
*/
|
|
49
71
|
static getDevicePixelRatio(): number;
|
|
50
72
|
/**
|
|
51
|
-
* @description
|
|
52
|
-
*
|
|
73
|
+
* @description レンダリング最大サイズを設定する
|
|
74
|
+
* Set the maximum render size
|
|
75
|
+
*
|
|
76
|
+
* @param {number} size - 最大サイズ / maximum size in pixels
|
|
53
77
|
* @return {void}
|
|
54
78
|
*/
|
|
55
79
|
static setRenderMaxSize(size: number): void;
|
|
56
80
|
/**
|
|
57
|
-
* @description
|
|
81
|
+
* @description レンダリング最大サイズを取得する(アトラス用)
|
|
82
|
+
* Get the maximum render size (for texture atlas)
|
|
83
|
+
*
|
|
58
84
|
* @return {number}
|
|
59
85
|
*/
|
|
60
86
|
static getRenderMaxSize(): number;
|
|
61
87
|
/**
|
|
62
|
-
* @description
|
|
63
|
-
*
|
|
88
|
+
* @description 指定長のFloat32Arrayを生成する
|
|
89
|
+
* Create a new Float32Array with the specified length
|
|
90
|
+
*
|
|
91
|
+
* @param {number} length - 配列の長さ / array length
|
|
64
92
|
* @return {Float32Array}
|
|
65
93
|
*/
|
|
66
94
|
static createFloat32Array(length: number): Float32Array;
|
|
67
95
|
/**
|
|
68
|
-
* @description
|
|
69
|
-
*
|
|
96
|
+
* @description 汎用の空配列を生成する
|
|
97
|
+
* Create a new empty generic array
|
|
98
|
+
*
|
|
99
|
+
* @return {T[]}
|
|
70
100
|
*/
|
|
71
101
|
static createArray<T>(): T[];
|
|
72
102
|
/**
|
|
73
|
-
* @description
|
|
103
|
+
* @description Float32Array(4) をプールから取得する(なければ新規作成)
|
|
104
|
+
* Get a Float32Array(4) from the pool, or create a new one
|
|
105
|
+
*
|
|
74
106
|
* @return {Float32Array}
|
|
75
107
|
*/
|
|
76
108
|
static getFloat32Array4(): Float32Array;
|
|
77
109
|
/**
|
|
78
|
-
* @description
|
|
79
|
-
*
|
|
110
|
+
* @description Float32Array(4) をプールに返却する
|
|
111
|
+
* Return a Float32Array(4) to the pool for reuse
|
|
112
|
+
*
|
|
113
|
+
* @param {Float32Array} array - 返却する配列 / array to return
|
|
80
114
|
* @return {void}
|
|
81
115
|
*/
|
|
82
116
|
static poolFloat32Array4(array: Float32Array): void;
|
|
83
117
|
}
|
|
84
118
|
/**
|
|
85
119
|
* @description グローバルコンテキスト(WebGLUtilの$contextに相当)
|
|
120
|
+
* Global context instance (equivalent to $context in WebGLUtil)
|
|
121
|
+
*
|
|
122
|
+
* @type {any}
|
|
86
123
|
*/
|
|
87
124
|
export declare let $context: any;
|
|
88
125
|
/**
|
|
89
|
-
* @description
|
|
90
|
-
*
|
|
126
|
+
* @description グローバルコンテキストを設定する
|
|
127
|
+
* Set the global context instance
|
|
128
|
+
*
|
|
129
|
+
* @param {any} context - コンテキスト / context instance
|
|
130
|
+
* @return {void}
|
|
91
131
|
*/
|
|
92
132
|
export declare const $setContext: (context: any) => void;
|
|
93
133
|
/**
|
|
94
|
-
* @description Float32Array(4)
|
|
134
|
+
* @description Float32Array(4) をプールから取得する
|
|
135
|
+
* Get a Float32Array(4) from the pool
|
|
136
|
+
*
|
|
95
137
|
* @return {Float32Array}
|
|
96
138
|
*/
|
|
97
139
|
export declare const $getFloat32Array4: () => Float32Array;
|
|
98
140
|
/**
|
|
99
|
-
* @description Float32Array(4)
|
|
100
|
-
*
|
|
141
|
+
* @description Float32Array(4) をプールに返却する
|
|
142
|
+
* Return a Float32Array(4) to the pool
|
|
143
|
+
*
|
|
144
|
+
* @param {Float32Array} array - 返却する配列 / array to return
|
|
145
|
+
* @return {void}
|
|
101
146
|
*/
|
|
102
147
|
export declare const $poolFloat32Array4: (array: Float32Array) => void;
|
package/src/WebGPUUtil.js
CHANGED
|
@@ -4,35 +4,27 @@
|
|
|
4
4
|
*
|
|
5
5
|
* @type {number}
|
|
6
6
|
* @default 4
|
|
7
|
-
* @protected
|
|
8
|
-
*
|
|
9
|
-
* @note WebGL版と同じくMSAA 4xをデフォルトで有効化
|
|
10
|
-
* 曲線のアンチエイリアス品質向上のため
|
|
11
7
|
*/
|
|
12
|
-
export
|
|
8
|
+
export const $samples = 4;
|
|
13
9
|
/**
|
|
14
|
-
* @description
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
* @param {number} samples
|
|
18
|
-
* @return {void}
|
|
19
|
-
* @method
|
|
20
|
-
* @protected
|
|
10
|
+
* @description WebGPU描画ユーティリティクラス
|
|
11
|
+
* Utility class for WebGPU rendering operations
|
|
21
12
|
*/
|
|
22
|
-
export const $setSamples = (samples) => {
|
|
23
|
-
$samples = samples;
|
|
24
|
-
};
|
|
25
13
|
export class WebGPUUtil {
|
|
26
14
|
/**
|
|
27
|
-
* @description
|
|
28
|
-
*
|
|
15
|
+
* @description GPUデバイスを設定する
|
|
16
|
+
* Set the GPUDevice instance
|
|
17
|
+
*
|
|
18
|
+
* @param {GPUDevice} gpu_device - GPUデバイス / GPU device
|
|
29
19
|
* @return {void}
|
|
30
20
|
*/
|
|
31
21
|
static setDevice(gpu_device) {
|
|
32
22
|
WebGPUUtil.device = gpu_device;
|
|
33
23
|
}
|
|
34
24
|
/**
|
|
35
|
-
* @description
|
|
25
|
+
* @description GPUデバイスを取得する
|
|
26
|
+
* Get the GPUDevice instance
|
|
27
|
+
*
|
|
36
28
|
* @return {GPUDevice}
|
|
37
29
|
*/
|
|
38
30
|
static getDevice() {
|
|
@@ -42,52 +34,66 @@ export class WebGPUUtil {
|
|
|
42
34
|
return WebGPUUtil.device;
|
|
43
35
|
}
|
|
44
36
|
/**
|
|
45
|
-
* @description
|
|
46
|
-
*
|
|
37
|
+
* @description デバイスピクセル比率を設定する
|
|
38
|
+
* Set the device pixel ratio
|
|
39
|
+
*
|
|
40
|
+
* @param {number} ratio - ピクセル比率 / pixel ratio
|
|
47
41
|
* @return {void}
|
|
48
42
|
*/
|
|
49
43
|
static setDevicePixelRatio(ratio) {
|
|
50
44
|
WebGPUUtil.devicePixelRatio = ratio;
|
|
51
45
|
}
|
|
52
46
|
/**
|
|
53
|
-
* @description
|
|
47
|
+
* @description デバイスピクセル比率を取得する
|
|
48
|
+
* Get the device pixel ratio
|
|
49
|
+
*
|
|
54
50
|
* @return {number}
|
|
55
51
|
*/
|
|
56
52
|
static getDevicePixelRatio() {
|
|
57
53
|
return WebGPUUtil.devicePixelRatio;
|
|
58
54
|
}
|
|
59
55
|
/**
|
|
60
|
-
* @description
|
|
61
|
-
*
|
|
56
|
+
* @description レンダリング最大サイズを設定する
|
|
57
|
+
* Set the maximum render size
|
|
58
|
+
*
|
|
59
|
+
* @param {number} size - 最大サイズ / maximum size in pixels
|
|
62
60
|
* @return {void}
|
|
63
61
|
*/
|
|
64
62
|
static setRenderMaxSize(size) {
|
|
65
63
|
WebGPUUtil.renderMaxSize = size;
|
|
66
64
|
}
|
|
67
65
|
/**
|
|
68
|
-
* @description
|
|
66
|
+
* @description レンダリング最大サイズを取得する(アトラス用)
|
|
67
|
+
* Get the maximum render size (for texture atlas)
|
|
68
|
+
*
|
|
69
69
|
* @return {number}
|
|
70
70
|
*/
|
|
71
71
|
static getRenderMaxSize() {
|
|
72
72
|
return WebGPUUtil.renderMaxSize;
|
|
73
73
|
}
|
|
74
74
|
/**
|
|
75
|
-
* @description
|
|
76
|
-
*
|
|
75
|
+
* @description 指定長のFloat32Arrayを生成する
|
|
76
|
+
* Create a new Float32Array with the specified length
|
|
77
|
+
*
|
|
78
|
+
* @param {number} length - 配列の長さ / array length
|
|
77
79
|
* @return {Float32Array}
|
|
78
80
|
*/
|
|
79
81
|
static createFloat32Array(length) {
|
|
80
82
|
return new Float32Array(length);
|
|
81
83
|
}
|
|
82
84
|
/**
|
|
83
|
-
* @description
|
|
84
|
-
*
|
|
85
|
+
* @description 汎用の空配列を生成する
|
|
86
|
+
* Create a new empty generic array
|
|
87
|
+
*
|
|
88
|
+
* @return {T[]}
|
|
85
89
|
*/
|
|
86
90
|
static createArray() {
|
|
87
91
|
return [];
|
|
88
92
|
}
|
|
89
93
|
/**
|
|
90
|
-
* @description
|
|
94
|
+
* @description Float32Array(4) をプールから取得する(なければ新規作成)
|
|
95
|
+
* Get a Float32Array(4) from the pool, or create a new one
|
|
96
|
+
*
|
|
91
97
|
* @return {Float32Array}
|
|
92
98
|
*/
|
|
93
99
|
static getFloat32Array4() {
|
|
@@ -96,8 +102,10 @@ export class WebGPUUtil {
|
|
|
96
102
|
: new Float32Array(4);
|
|
97
103
|
}
|
|
98
104
|
/**
|
|
99
|
-
* @description
|
|
100
|
-
*
|
|
105
|
+
* @description Float32Array(4) をプールに返却する
|
|
106
|
+
* Return a Float32Array(4) to the pool for reuse
|
|
107
|
+
*
|
|
108
|
+
* @param {Float32Array} array - 返却する配列 / array to return
|
|
101
109
|
* @return {void}
|
|
102
110
|
*/
|
|
103
111
|
static poolFloat32Array4(array) {
|
|
@@ -106,24 +114,48 @@ export class WebGPUUtil {
|
|
|
106
114
|
}
|
|
107
115
|
}
|
|
108
116
|
}
|
|
117
|
+
/**
|
|
118
|
+
* @description GPUデバイスインスタンス
|
|
119
|
+
* GPU device instance
|
|
120
|
+
*
|
|
121
|
+
* @type {GPUDevice | null}
|
|
122
|
+
*/
|
|
109
123
|
Object.defineProperty(WebGPUUtil, "device", {
|
|
110
124
|
enumerable: true,
|
|
111
125
|
configurable: true,
|
|
112
126
|
writable: true,
|
|
113
127
|
value: null
|
|
114
128
|
});
|
|
129
|
+
/**
|
|
130
|
+
* @description デバイスピクセル比率
|
|
131
|
+
* Device pixel ratio for high-DPI rendering
|
|
132
|
+
*
|
|
133
|
+
* @type {number}
|
|
134
|
+
*/
|
|
115
135
|
Object.defineProperty(WebGPUUtil, "devicePixelRatio", {
|
|
116
136
|
enumerable: true,
|
|
117
137
|
configurable: true,
|
|
118
138
|
writable: true,
|
|
119
139
|
value: 1
|
|
120
140
|
});
|
|
141
|
+
/**
|
|
142
|
+
* @description レンダリング最大サイズ(テクスチャアトラス用)
|
|
143
|
+
* Maximum render size for texture atlas
|
|
144
|
+
*
|
|
145
|
+
* @type {number}
|
|
146
|
+
*/
|
|
121
147
|
Object.defineProperty(WebGPUUtil, "renderMaxSize", {
|
|
122
148
|
enumerable: true,
|
|
123
149
|
configurable: true,
|
|
124
150
|
writable: true,
|
|
125
151
|
value: 8192
|
|
126
152
|
});
|
|
153
|
+
/**
|
|
154
|
+
* @description Float32Array(4) のオブジェクトプール
|
|
155
|
+
* Object pool for Float32Array(4) instances
|
|
156
|
+
*
|
|
157
|
+
* @type {Float32Array[]}
|
|
158
|
+
*/
|
|
127
159
|
Object.defineProperty(WebGPUUtil, "float32Array4Pool", {
|
|
128
160
|
enumerable: true,
|
|
129
161
|
configurable: true,
|
|
@@ -132,25 +164,36 @@ Object.defineProperty(WebGPUUtil, "float32Array4Pool", {
|
|
|
132
164
|
});
|
|
133
165
|
/**
|
|
134
166
|
* @description グローバルコンテキスト(WebGLUtilの$contextに相当)
|
|
167
|
+
* Global context instance (equivalent to $context in WebGLUtil)
|
|
168
|
+
*
|
|
169
|
+
* @type {any}
|
|
135
170
|
*/
|
|
136
171
|
export let $context = null;
|
|
137
172
|
/**
|
|
138
|
-
* @description
|
|
139
|
-
*
|
|
173
|
+
* @description グローバルコンテキストを設定する
|
|
174
|
+
* Set the global context instance
|
|
175
|
+
*
|
|
176
|
+
* @param {any} context - コンテキスト / context instance
|
|
177
|
+
* @return {void}
|
|
140
178
|
*/
|
|
141
179
|
export const $setContext = (context) => {
|
|
142
180
|
$context = context;
|
|
143
181
|
};
|
|
144
182
|
/**
|
|
145
|
-
* @description Float32Array(4)
|
|
183
|
+
* @description Float32Array(4) をプールから取得する
|
|
184
|
+
* Get a Float32Array(4) from the pool
|
|
185
|
+
*
|
|
146
186
|
* @return {Float32Array}
|
|
147
187
|
*/
|
|
148
188
|
export const $getFloat32Array4 = () => {
|
|
149
189
|
return WebGPUUtil.getFloat32Array4();
|
|
150
190
|
};
|
|
151
191
|
/**
|
|
152
|
-
* @description Float32Array(4)
|
|
153
|
-
*
|
|
192
|
+
* @description Float32Array(4) をプールに返却する
|
|
193
|
+
* Return a Float32Array(4) to the pool
|
|
194
|
+
*
|
|
195
|
+
* @param {Float32Array} array - 返却する配列 / array to return
|
|
196
|
+
* @return {void}
|
|
154
197
|
*/
|
|
155
198
|
export const $poolFloat32Array4 = (array) => {
|
|
156
199
|
WebGPUUtil.poolFloat32Array4(array);
|
|
@@ -9,14 +9,50 @@ import type { IStencilBufferObject } from "./IStencilBufferObject";
|
|
|
9
9
|
* 同じように扱うことができます。
|
|
10
10
|
*/
|
|
11
11
|
export interface IAttachmentObject {
|
|
12
|
+
/**
|
|
13
|
+
* @description アタッチメントの一意な識別子
|
|
14
|
+
* Unique identifier for the attachment
|
|
15
|
+
*/
|
|
12
16
|
id: number;
|
|
17
|
+
/**
|
|
18
|
+
* @description アタッチメントの幅(ピクセル)
|
|
19
|
+
* Width of the attachment in pixels
|
|
20
|
+
*/
|
|
13
21
|
width: number;
|
|
22
|
+
/**
|
|
23
|
+
* @description アタッチメントの高さ(ピクセル)
|
|
24
|
+
* Height of the attachment in pixels
|
|
25
|
+
*/
|
|
14
26
|
height: number;
|
|
27
|
+
/**
|
|
28
|
+
* @description 現在のクリップ(マスク)ネストレベル
|
|
29
|
+
* Current clip (mask) nesting level
|
|
30
|
+
*/
|
|
15
31
|
clipLevel: number;
|
|
32
|
+
/**
|
|
33
|
+
* @description MSAAが有効かどうか
|
|
34
|
+
* Whether MSAA is enabled
|
|
35
|
+
*/
|
|
16
36
|
msaa: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* @description マスクモードが有効かどうか
|
|
39
|
+
* Whether mask mode is enabled
|
|
40
|
+
*/
|
|
17
41
|
mask: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* @description カラーバッファオブジェクト
|
|
44
|
+
* Color buffer object
|
|
45
|
+
*/
|
|
18
46
|
color: IColorBufferObject | null;
|
|
47
|
+
/**
|
|
48
|
+
* @description テクスチャオブジェクト
|
|
49
|
+
* Texture object
|
|
50
|
+
*/
|
|
19
51
|
texture: ITextureObject | null;
|
|
52
|
+
/**
|
|
53
|
+
* @description ステンシルバッファオブジェクト
|
|
54
|
+
* Stencil buffer object
|
|
55
|
+
*/
|
|
20
56
|
stencil: IStencilBufferObject | null;
|
|
21
57
|
/**
|
|
22
58
|
* @description MSAAテクスチャ(sampleCount > 1 の場合に使用)
|
|
@@ -1 +1,8 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description ブレンドモードの型定義
|
|
3
|
+
* Blend mode type definition
|
|
4
|
+
*
|
|
5
|
+
* 描画オブジェクトに適用可能なブレンドモードを定義します。
|
|
6
|
+
* Defines the blend modes that can be applied to display objects.
|
|
7
|
+
*/
|
|
1
8
|
export type IBlendMode = "normal" | "layer" | "multiply" | "screen" | "lighten" | "darken" | "difference" | "add" | "subtract" | "invert" | "alpha" | "erase" | "overlay" | "hardlight" | "copy";
|
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
* WebGPU blend state definitions
|
|
4
4
|
*/
|
|
5
5
|
export interface IBlendState {
|
|
6
|
+
/**
|
|
7
|
+
* @description カラーチャンネルのブレンド設定
|
|
8
|
+
* Blend component configuration for the color channel
|
|
9
|
+
*/
|
|
6
10
|
color: GPUBlendComponent;
|
|
11
|
+
/**
|
|
12
|
+
* @description アルファチャンネルのブレンド設定
|
|
13
|
+
* Blend component configuration for the alpha channel
|
|
14
|
+
*/
|
|
7
15
|
alpha: GPUBlendComponent;
|
|
8
16
|
}
|
|
@@ -1,6 +1,29 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @description バウンディングボックスのインターフェース
|
|
3
|
+
* Bounding box interface
|
|
4
|
+
*
|
|
5
|
+
* 描画オブジェクトの矩形領域を最小・最大座標で定義します。
|
|
6
|
+
* Defines a rectangular area of a display object using min/max coordinates.
|
|
7
|
+
*/
|
|
1
8
|
export interface IBounds {
|
|
9
|
+
/**
|
|
10
|
+
* @description X軸の最小値
|
|
11
|
+
* Minimum value on the X axis
|
|
12
|
+
*/
|
|
2
13
|
xMin: number;
|
|
14
|
+
/**
|
|
15
|
+
* @description Y軸の最小値
|
|
16
|
+
* Minimum value on the Y axis
|
|
17
|
+
*/
|
|
3
18
|
yMin: number;
|
|
19
|
+
/**
|
|
20
|
+
* @description X軸の最大値
|
|
21
|
+
* Maximum value on the X axis
|
|
22
|
+
*/
|
|
4
23
|
xMax: number;
|
|
24
|
+
/**
|
|
25
|
+
* @description Y軸の最大値
|
|
26
|
+
* Maximum value on the Y axis
|
|
27
|
+
*/
|
|
5
28
|
yMax: number;
|
|
6
29
|
}
|
|
@@ -7,11 +7,39 @@ import type { IStencilBufferObject } from "./IStencilBufferObject";
|
|
|
7
7
|
* リソースはGPUTextureを使用します。
|
|
8
8
|
*/
|
|
9
9
|
export interface IColorBufferObject {
|
|
10
|
+
/**
|
|
11
|
+
* @description GPUテクスチャリソース
|
|
12
|
+
* GPU texture resource
|
|
13
|
+
*/
|
|
10
14
|
resource: GPUTexture;
|
|
15
|
+
/**
|
|
16
|
+
* @description テクスチャビュー(レンダーパスへのアタッチ用)
|
|
17
|
+
* Texture view for attaching to render passes
|
|
18
|
+
*/
|
|
11
19
|
view: GPUTextureView;
|
|
20
|
+
/**
|
|
21
|
+
* @description 対応するステンシルバッファオブジェクト
|
|
22
|
+
* Associated stencil buffer object
|
|
23
|
+
*/
|
|
12
24
|
stencil: IStencilBufferObject;
|
|
25
|
+
/**
|
|
26
|
+
* @description カラーバッファの幅(ピクセル)
|
|
27
|
+
* Width of the color buffer in pixels
|
|
28
|
+
*/
|
|
13
29
|
width: number;
|
|
30
|
+
/**
|
|
31
|
+
* @description カラーバッファの高さ(ピクセル)
|
|
32
|
+
* Height of the color buffer in pixels
|
|
33
|
+
*/
|
|
14
34
|
height: number;
|
|
35
|
+
/**
|
|
36
|
+
* @description バッファの面積(width × height)
|
|
37
|
+
* Area of the buffer (width × height)
|
|
38
|
+
*/
|
|
15
39
|
area: number;
|
|
40
|
+
/**
|
|
41
|
+
* @description バッファが変更されたかどうか
|
|
42
|
+
* Whether the buffer has been modified
|
|
43
|
+
*/
|
|
16
44
|
dirty: boolean;
|
|
17
45
|
}
|
|
@@ -4,16 +4,64 @@ import type { Node } from "@next2d/texture-packer";
|
|
|
4
4
|
* Complex blend mode rendering queue
|
|
5
5
|
*/
|
|
6
6
|
export interface IComplexBlendItem {
|
|
7
|
+
/**
|
|
8
|
+
* @description テクスチャアトラスのノード
|
|
9
|
+
* Texture atlas node
|
|
10
|
+
*/
|
|
7
11
|
node: Node;
|
|
12
|
+
/**
|
|
13
|
+
* @description 描画領域のX最小座標
|
|
14
|
+
* Minimum X coordinate of the rendering area
|
|
15
|
+
*/
|
|
8
16
|
x_min: number;
|
|
17
|
+
/**
|
|
18
|
+
* @description 描画領域のY最小座標
|
|
19
|
+
* Minimum Y coordinate of the rendering area
|
|
20
|
+
*/
|
|
9
21
|
y_min: number;
|
|
22
|
+
/**
|
|
23
|
+
* @description 描画領域のX最大座標
|
|
24
|
+
* Maximum X coordinate of the rendering area
|
|
25
|
+
*/
|
|
10
26
|
x_max: number;
|
|
27
|
+
/**
|
|
28
|
+
* @description 描画領域のY最大座標
|
|
29
|
+
* Maximum Y coordinate of the rendering area
|
|
30
|
+
*/
|
|
11
31
|
y_max: number;
|
|
32
|
+
/**
|
|
33
|
+
* @description カラー変換配列
|
|
34
|
+
* Color transform array
|
|
35
|
+
*/
|
|
12
36
|
color_transform: Float32Array;
|
|
37
|
+
/**
|
|
38
|
+
* @description 変換行列
|
|
39
|
+
* Transformation matrix
|
|
40
|
+
*/
|
|
13
41
|
matrix: Float32Array;
|
|
42
|
+
/**
|
|
43
|
+
* @description ブレンドモード名
|
|
44
|
+
* Blend mode name
|
|
45
|
+
*/
|
|
14
46
|
blend_mode: string;
|
|
47
|
+
/**
|
|
48
|
+
* @description ビューポートの幅
|
|
49
|
+
* Viewport width
|
|
50
|
+
*/
|
|
15
51
|
viewport_width: number;
|
|
52
|
+
/**
|
|
53
|
+
* @description ビューポートの高さ
|
|
54
|
+
* Viewport height
|
|
55
|
+
*/
|
|
16
56
|
viewport_height: number;
|
|
57
|
+
/**
|
|
58
|
+
* @description レンダリング最大サイズ
|
|
59
|
+
* Maximum render size
|
|
60
|
+
*/
|
|
17
61
|
render_max_size: number;
|
|
62
|
+
/**
|
|
63
|
+
* @description グローバル透明度
|
|
64
|
+
* Global alpha transparency
|
|
65
|
+
*/
|
|
18
66
|
global_alpha: number;
|
|
19
67
|
}
|
|
@@ -1,29 +1,55 @@
|
|
|
1
1
|
import type { IAttachmentObject } from "./IAttachmentObject";
|
|
2
|
-
import type { ComputePipelineManager } from "../Compute/ComputePipelineManager";
|
|
3
2
|
/**
|
|
4
3
|
* @description フィルター処理の共通設定
|
|
5
4
|
* Common filter processing configuration
|
|
6
5
|
*/
|
|
7
6
|
export interface IFilterConfig {
|
|
7
|
+
/**
|
|
8
|
+
* @description GPUデバイス
|
|
9
|
+
* GPU device instance
|
|
10
|
+
*/
|
|
8
11
|
device: GPUDevice;
|
|
12
|
+
/**
|
|
13
|
+
* @description GPUコマンドエンコーダー
|
|
14
|
+
* GPU command encoder
|
|
15
|
+
*/
|
|
9
16
|
commandEncoder: GPUCommandEncoder;
|
|
17
|
+
/**
|
|
18
|
+
* @description ユニフォームバッファの管理インターフェース
|
|
19
|
+
* Uniform buffer management interface
|
|
20
|
+
*/
|
|
10
21
|
bufferManager?: {
|
|
11
22
|
acquireUniformBuffer(requiredSize: number): GPUBuffer;
|
|
12
23
|
acquireAndWriteUniformBuffer(data: Float32Array, byteLength?: number): GPUBuffer;
|
|
13
24
|
};
|
|
25
|
+
/**
|
|
26
|
+
* @description フレームバッファの管理インターフェース
|
|
27
|
+
* Frame buffer management interface
|
|
28
|
+
*/
|
|
14
29
|
frameBufferManager: {
|
|
15
30
|
createTemporaryAttachment(width: number, height: number): IAttachmentObject;
|
|
16
31
|
releaseTemporaryAttachment(attachment: IAttachmentObject): void;
|
|
17
32
|
createRenderPassDescriptor(view: GPUTextureView, r: number, g: number, b: number, a: number, loadOp: GPULoadOp): GPURenderPassDescriptor;
|
|
18
33
|
};
|
|
34
|
+
/**
|
|
35
|
+
* @description パイプラインの管理インターフェース
|
|
36
|
+
* Pipeline management interface
|
|
37
|
+
*/
|
|
19
38
|
pipelineManager: {
|
|
20
39
|
getPipeline(name: string): GPURenderPipeline | undefined;
|
|
21
40
|
getFilterPipeline(baseName: string, constants: Record<string, number>): GPURenderPipeline | undefined;
|
|
22
41
|
getBindGroupLayout(name: string): GPUBindGroupLayout | undefined;
|
|
23
42
|
};
|
|
43
|
+
/**
|
|
44
|
+
* @description テクスチャの管理インターフェース
|
|
45
|
+
* Texture management interface
|
|
46
|
+
*/
|
|
24
47
|
textureManager: {
|
|
25
48
|
createSampler(name: string, smooth: boolean): GPUSampler;
|
|
26
49
|
};
|
|
27
|
-
|
|
50
|
+
/**
|
|
51
|
+
* @description フレームテクスチャの配列
|
|
52
|
+
* Array of frame textures
|
|
53
|
+
*/
|
|
28
54
|
frameTextures: GPUTexture[];
|
|
29
55
|
}
|