ris-framework 0.1.0-dev.7 → 0.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/CHANGELOG.md +4 -1
- package/LICENSE +202 -21
- package/NOTICE +2 -0
- package/README.md +29 -47
- package/THIRD_PARTY_NOTICES.md +1 -1
- package/dist/{core/Framework.d.ts → Framework.d.ts} +10 -8
- package/dist/Framework.d.ts.map +1 -0
- package/dist/api/FrameworkConfiguration.d.ts +23 -0
- package/dist/api/FrameworkConfiguration.d.ts.map +1 -0
- package/dist/api/IFramework.d.ts +125 -0
- package/dist/api/IFramework.d.ts.map +1 -0
- package/dist/api/IFrameworkConfiguration.d.ts +25 -0
- package/dist/api/IFrameworkConfiguration.d.ts.map +1 -0
- package/dist/api/_export.d.ts +27 -0
- package/dist/api/_export.d.ts.map +1 -0
- package/dist/api/camera/CameraFactory.d.ts +25 -0
- package/dist/api/camera/CameraFactory.d.ts.map +1 -0
- package/dist/api/camera/ICamera.d.ts +43 -0
- package/dist/api/camera/ICamera.d.ts.map +1 -0
- package/dist/api/camera/ICameraFactory.d.ts +46 -0
- package/dist/api/camera/ICameraFactory.d.ts.map +1 -0
- package/dist/api/camera/IOrthographicCamera.d.ts +31 -0
- package/dist/api/camera/IOrthographicCamera.d.ts.map +1 -0
- package/dist/api/camera/OrbitCamera.d.ts +120 -0
- package/dist/api/camera/OrbitCamera.d.ts.map +1 -0
- package/dist/api/camera/OrthographicCamera.d.ts +96 -0
- package/dist/api/camera/OrthographicCamera.d.ts.map +1 -0
- package/dist/api/camera/PerspectiveCamera.d.ts +108 -0
- package/dist/api/camera/PerspectiveCamera.d.ts.map +1 -0
- package/dist/api/camera/_export.d.ts +8 -0
- package/dist/api/camera/_export.d.ts.map +1 -0
- package/dist/api/content/ContentConfig.d.ts +11 -0
- package/dist/api/content/ContentConfig.d.ts.map +1 -0
- package/dist/{core → api}/content/ContentManager.d.ts +3 -2
- package/dist/api/content/ContentManager.d.ts.map +1 -0
- package/dist/api/content/IContent.d.ts +8 -0
- package/dist/api/content/IContent.d.ts.map +1 -0
- package/dist/api/content/IContentManager.d.ts +37 -0
- package/dist/api/content/IContentManager.d.ts.map +1 -0
- package/dist/api/content/IContentModule.d.ts +58 -0
- package/dist/api/content/IContentModule.d.ts.map +1 -0
- package/dist/api/content/ShaderModuleContent.d.ts.map +1 -0
- package/dist/api/content/_export-content.d.ts +5 -0
- package/dist/api/content/_export-content.d.ts.map +1 -0
- package/dist/api/core/IDisposable.d.ts +10 -0
- package/dist/api/core/IDisposable.d.ts.map +1 -0
- package/dist/api/core/_export-core.d.ts +2 -0
- package/dist/api/core/_export-core.d.ts.map +1 -0
- package/dist/api/data/Color.d.ts +119 -0
- package/dist/api/data/Color.d.ts.map +1 -0
- package/dist/api/data/Rect.d.ts +61 -0
- package/dist/api/data/Rect.d.ts.map +1 -0
- package/dist/api/data/State.d.ts +11 -0
- package/dist/api/data/State.d.ts.map +1 -0
- package/dist/api/data/_export.d.ts +4 -0
- package/dist/api/data/_export.d.ts.map +1 -0
- package/dist/{geometry → api/geometry}/BaseGeometry.d.ts +5 -2
- package/dist/api/geometry/BaseGeometry.d.ts.map +1 -0
- package/dist/{geometry → api/geometry}/GeometryBuilder.d.ts +1 -1
- package/dist/api/geometry/GeometryBuilder.d.ts.map +1 -0
- package/dist/api/geometry/GeometryFormat.d.ts +34 -0
- package/dist/api/geometry/GeometryFormat.d.ts.map +1 -0
- package/dist/api/geometry/IGeometry.d.ts +54 -0
- package/dist/api/geometry/IGeometry.d.ts.map +1 -0
- package/dist/api/geometry/IGeometryBuilder.d.ts +15 -0
- package/dist/api/geometry/IGeometryBuilder.d.ts.map +1 -0
- package/dist/api/geometry/VertexFormat.d.ts.map +1 -0
- package/dist/api/geometry/_export-geometry.d.ts +5 -0
- package/dist/api/geometry/_export-geometry.d.ts.map +1 -0
- package/dist/api/image/CpuImageProcessor.d.ts +16 -0
- package/dist/api/image/CpuImageProcessor.d.ts.map +1 -0
- package/dist/api/image/IImageProcessor.d.ts +26 -0
- package/dist/api/image/IImageProcessor.d.ts.map +1 -0
- package/dist/api/image/RawImageData.d.ts +34 -0
- package/dist/api/image/RawImageData.d.ts.map +1 -0
- package/dist/api/image/_export.d.ts +4 -0
- package/dist/api/image/_export.d.ts.map +1 -0
- package/dist/api/index.d.ts +2 -0
- package/dist/api/index.d.ts.map +1 -0
- package/dist/api/input/IInputManager.d.ts +53 -0
- package/dist/api/input/IInputManager.d.ts.map +1 -0
- package/dist/api/input/InputDeviceType.d.ts +18 -0
- package/dist/api/input/InputDeviceType.d.ts.map +1 -0
- package/dist/api/input/InputManager.d.ts +73 -0
- package/dist/api/input/InputManager.d.ts.map +1 -0
- package/dist/api/input/Key.d.ts +36 -0
- package/dist/api/input/Key.d.ts.map +1 -0
- package/dist/api/input/KeyboardState.d.ts +37 -0
- package/dist/api/input/KeyboardState.d.ts.map +1 -0
- package/dist/api/input/_export.d.ts +14 -0
- package/dist/api/input/_export.d.ts.map +1 -0
- package/dist/api/input/gamepad/Button.d.ts +22 -0
- package/dist/api/input/gamepad/Button.d.ts.map +1 -0
- package/dist/api/input/gamepad/GamePadState.d.ts +48 -0
- package/dist/api/input/gamepad/GamePadState.d.ts.map +1 -0
- package/dist/api/input/gamepad/GamePadThumbSticks.d.ts +17 -0
- package/dist/api/input/gamepad/GamePadThumbSticks.d.ts.map +1 -0
- package/dist/api/input/mouse/MouseButton.d.ts +10 -0
- package/dist/api/input/mouse/MouseButton.d.ts.map +1 -0
- package/dist/api/input/mouse/MouseState.d.ts +52 -0
- package/dist/api/input/mouse/MouseState.d.ts.map +1 -0
- package/dist/api/input/touch/TouchCollection.d.ts +79 -0
- package/dist/api/input/touch/TouchCollection.d.ts.map +1 -0
- package/dist/api/input/touch/TouchLocation.d.ts +80 -0
- package/dist/api/input/touch/TouchLocation.d.ts.map +1 -0
- package/dist/api/input/touch/TouchLocationState.d.ts +16 -0
- package/dist/api/input/touch/TouchLocationState.d.ts.map +1 -0
- package/dist/api/input/touch/TouchPanelCapabilities.d.ts +24 -0
- package/dist/api/input/touch/TouchPanelCapabilities.d.ts.map +1 -0
- package/dist/api/loaders/IImageLoader.d.ts +20 -0
- package/dist/api/loaders/IImageLoader.d.ts.map +1 -0
- package/dist/api/loaders/ImageLoader.d.ts +36 -0
- package/dist/api/loaders/ImageLoader.d.ts.map +1 -0
- package/dist/api/loaders/_export.d.ts +3 -0
- package/dist/api/loaders/_export.d.ts.map +1 -0
- package/dist/api/material/IMaterial.d.ts +35 -0
- package/dist/api/material/IMaterial.d.ts.map +1 -0
- package/dist/api/material/IMaterialFactory.d.ts +19 -0
- package/dist/api/material/IMaterialFactory.d.ts.map +1 -0
- package/dist/api/material/InspectTextureMipsMaterial.d.ts +58 -0
- package/dist/api/material/InspectTextureMipsMaterial.d.ts.map +1 -0
- package/dist/api/material/MaterialFactory.d.ts +20 -0
- package/dist/api/material/MaterialFactory.d.ts.map +1 -0
- package/dist/api/material/UnlitMaterial.d.ts +76 -0
- package/dist/api/material/UnlitMaterial.d.ts.map +1 -0
- package/dist/api/material/_export.d.ts +6 -0
- package/dist/api/material/_export.d.ts.map +1 -0
- package/dist/api/meshes/IMesh.d.ts +17 -0
- package/dist/api/meshes/IMesh.d.ts.map +1 -0
- package/dist/api/meshes/IMeshFactory.d.ts +25 -0
- package/dist/api/meshes/IMeshFactory.d.ts.map +1 -0
- package/dist/api/meshes/Mesh.d.ts +93 -0
- package/dist/api/meshes/Mesh.d.ts.map +1 -0
- package/dist/api/meshes/MeshFactory.d.ts +23 -0
- package/dist/api/meshes/MeshFactory.d.ts.map +1 -0
- package/dist/api/meshes/MeshParameters.d.ts +22 -0
- package/dist/api/meshes/MeshParameters.d.ts.map +1 -0
- package/dist/api/meshes/QuadMesh.d.ts +33 -0
- package/dist/api/meshes/QuadMesh.d.ts.map +1 -0
- package/dist/api/meshes/_export.d.ts +7 -0
- package/dist/api/meshes/_export.d.ts.map +1 -0
- package/dist/api/rendering/IGPUInfo.d.ts +35 -0
- package/dist/api/rendering/IGPUInfo.d.ts.map +1 -0
- package/dist/api/rendering/IGraphicsDevice.d.ts +88 -0
- package/dist/api/rendering/IGraphicsDevice.d.ts.map +1 -0
- package/dist/api/rendering/IGraphicsDeviceFeatures.d.ts +27 -0
- package/dist/api/rendering/IGraphicsDeviceFeatures.d.ts.map +1 -0
- package/dist/api/rendering/IRenderer.d.ts +71 -0
- package/dist/api/rendering/IRenderer.d.ts.map +1 -0
- package/dist/api/rendering/PowerPreference.d.ts +13 -0
- package/dist/api/rendering/PowerPreference.d.ts.map +1 -0
- package/dist/api/rendering/RenderingBackend.d.ts +18 -0
- package/dist/api/rendering/RenderingBackend.d.ts.map +1 -0
- package/dist/api/rendering/_export-rendering.d.ts +7 -0
- package/dist/api/rendering/_export-rendering.d.ts.map +1 -0
- package/dist/api/rendering/blending/IBlendState.d.ts +16 -0
- package/dist/api/rendering/blending/IBlendState.d.ts.map +1 -0
- package/dist/api/rendering/blending/_export.d.ts +2 -0
- package/dist/api/rendering/blending/_export.d.ts.map +1 -0
- package/dist/api/rendering/buffers/BufferUsage.d.ts +57 -0
- package/dist/api/rendering/buffers/BufferUsage.d.ts.map +1 -0
- package/dist/api/rendering/buffers/IBuffer.d.ts +20 -0
- package/dist/api/rendering/buffers/IBuffer.d.ts.map +1 -0
- package/dist/api/rendering/buffers/IBufferFactory.d.ts +34 -0
- package/dist/api/rendering/buffers/IBufferFactory.d.ts.map +1 -0
- package/dist/api/rendering/buffers/IIndexBuffer.d.ts +31 -0
- package/dist/api/rendering/buffers/IIndexBuffer.d.ts.map +1 -0
- package/dist/api/rendering/buffers/IUniformBuffer.d.ts +18 -0
- package/dist/api/rendering/buffers/IUniformBuffer.d.ts.map +1 -0
- package/dist/api/rendering/buffers/IVertexBuffer.d.ts +26 -0
- package/dist/api/rendering/buffers/IVertexBuffer.d.ts.map +1 -0
- package/dist/api/rendering/buffers/IVertexBufferLayout.d.ts +23 -0
- package/dist/api/rendering/buffers/IVertexBufferLayout.d.ts.map +1 -0
- package/dist/api/rendering/buffers/IndexBufferType.d.ts +14 -0
- package/dist/api/rendering/buffers/IndexBufferType.d.ts.map +1 -0
- package/dist/api/rendering/buffers/VertexAttribute.d.ts +22 -0
- package/dist/api/rendering/buffers/VertexAttribute.d.ts.map +1 -0
- package/dist/api/rendering/buffers/VertexStepMode.d.ts +14 -0
- package/dist/api/rendering/buffers/VertexStepMode.d.ts.map +1 -0
- package/dist/api/rendering/buffers/_export-buffers.d.ts +11 -0
- package/dist/api/rendering/buffers/_export-buffers.d.ts.map +1 -0
- package/dist/{core/renderer → api/rendering}/enums.d.ts.map +1 -1
- package/dist/api/rendering/primitive/CullMode.d.ts +18 -0
- package/dist/api/rendering/primitive/CullMode.d.ts.map +1 -0
- package/dist/api/rendering/primitive/FrontFace.d.ts +14 -0
- package/dist/api/rendering/primitive/FrontFace.d.ts.map +1 -0
- package/dist/api/rendering/primitive/IPrimitiveState.d.ts +22 -0
- package/dist/api/rendering/primitive/IPrimitiveState.d.ts.map +1 -0
- package/dist/api/rendering/primitive/PrimitiveStateDescriptor.d.ts +24 -0
- package/dist/api/rendering/primitive/PrimitiveStateDescriptor.d.ts.map +1 -0
- package/dist/api/rendering/primitive/PrimitiveTopology.d.ts +26 -0
- package/dist/api/rendering/primitive/PrimitiveTopology.d.ts.map +1 -0
- package/dist/api/rendering/primitive/_export.d.ts +6 -0
- package/dist/api/rendering/primitive/_export.d.ts.map +1 -0
- package/dist/api/rendering/render-pipelines/IInspectTextureMipsRenderPipeline.d.ts +33 -0
- package/dist/api/rendering/render-pipelines/IInspectTextureMipsRenderPipeline.d.ts.map +1 -0
- package/dist/api/rendering/render-pipelines/IMainRenderTargetRenderPipeline.d.ts +18 -0
- package/dist/api/rendering/render-pipelines/IMainRenderTargetRenderPipeline.d.ts.map +1 -0
- package/dist/api/rendering/render-pipelines/IRenderPipeline.d.ts +39 -0
- package/dist/api/rendering/render-pipelines/IRenderPipeline.d.ts.map +1 -0
- package/dist/api/rendering/render-pipelines/IRenderPipelineFactory.d.ts +42 -0
- package/dist/api/rendering/render-pipelines/IRenderPipelineFactory.d.ts.map +1 -0
- package/dist/api/rendering/render-pipelines/ISpriteRenderPipeline.d.ts +22 -0
- package/dist/api/rendering/render-pipelines/ISpriteRenderPipeline.d.ts.map +1 -0
- package/dist/api/rendering/render-pipelines/IUnlitRenderPipeline.d.ts +33 -0
- package/dist/api/rendering/render-pipelines/IUnlitRenderPipeline.d.ts.map +1 -0
- package/dist/api/rendering/render-pipelines/_export-render-pipelines.d.ts +7 -0
- package/dist/api/rendering/render-pipelines/_export-render-pipelines.d.ts.map +1 -0
- package/dist/{core/renderer → api/rendering}/renderer-interface.d.ts +11 -7
- package/dist/api/rendering/renderer-interface.d.ts.map +1 -0
- package/dist/{core/renderer → api/rendering}/rendering-limits.d.ts.map +1 -1
- package/dist/api/rendering/renderpass/IRenderPass.d.ts +15 -0
- package/dist/api/rendering/renderpass/IRenderPass.d.ts.map +1 -0
- package/dist/api/rendering/renderpass/LoadAction.d.ts +33 -0
- package/dist/api/rendering/renderpass/LoadAction.d.ts.map +1 -0
- package/dist/api/rendering/renderpass/RenderPassColorAttachment.d.ts +53 -0
- package/dist/api/rendering/renderpass/RenderPassColorAttachment.d.ts.map +1 -0
- package/dist/api/rendering/renderpass/RenderPassDepthStencilAttachment.d.ts +56 -0
- package/dist/api/rendering/renderpass/RenderPassDepthStencilAttachment.d.ts.map +1 -0
- package/dist/api/rendering/renderpass/RenderPassDescriptor.d.ts +22 -0
- package/dist/api/rendering/renderpass/RenderPassDescriptor.d.ts.map +1 -0
- package/dist/api/rendering/renderpass/StoreAction.d.ts +24 -0
- package/dist/api/rendering/renderpass/StoreAction.d.ts.map +1 -0
- package/dist/api/rendering/renderpass/_export.d.ts +7 -0
- package/dist/api/rendering/renderpass/_export.d.ts.map +1 -0
- package/dist/api/rendering/sampler/ISampler.d.ts +43 -0
- package/dist/api/rendering/sampler/ISampler.d.ts.map +1 -0
- package/dist/api/rendering/sampler/MipMapSamplerFilter.d.ts +18 -0
- package/dist/api/rendering/sampler/MipMapSamplerFilter.d.ts.map +1 -0
- package/dist/api/rendering/sampler/SamplerAddressMode.d.ts +24 -0
- package/dist/api/rendering/sampler/SamplerAddressMode.d.ts.map +1 -0
- package/dist/api/rendering/sampler/SamplerDescriptor.d.ts +40 -0
- package/dist/api/rendering/sampler/SamplerDescriptor.d.ts.map +1 -0
- package/dist/api/rendering/sampler/SamplerFilter.d.ts +14 -0
- package/dist/api/rendering/sampler/SamplerFilter.d.ts.map +1 -0
- package/dist/api/rendering/sampler/_export.d.ts +6 -0
- package/dist/api/rendering/sampler/_export.d.ts.map +1 -0
- package/dist/api/rendering/sampler/sampler-enums.d.ts +15 -0
- package/dist/api/rendering/sampler/sampler-enums.d.ts.map +1 -0
- package/dist/api/rendering/swapchain/ISwapChain.d.ts +29 -0
- package/dist/api/rendering/swapchain/ISwapChain.d.ts.map +1 -0
- package/dist/api/rendering/swapchain/SurfacePresentMode.d.ts +23 -0
- package/dist/api/rendering/swapchain/SurfacePresentMode.d.ts.map +1 -0
- package/dist/api/rendering/swapchain/SwapChainDescriptor.d.ts +20 -0
- package/dist/api/rendering/swapchain/SwapChainDescriptor.d.ts.map +1 -0
- package/dist/api/rendering/swapchain/_export.d.ts +4 -0
- package/dist/api/rendering/swapchain/_export.d.ts.map +1 -0
- package/dist/api/rendering/texture/ITexture2D.d.ts +83 -0
- package/dist/api/rendering/texture/ITexture2D.d.ts.map +1 -0
- package/dist/api/rendering/texture/ITextureFactory.d.ts +42 -0
- package/dist/api/rendering/texture/ITextureFactory.d.ts.map +1 -0
- package/dist/api/rendering/texture/ITextureView.d.ts +17 -0
- package/dist/api/rendering/texture/ITextureView.d.ts.map +1 -0
- package/dist/api/rendering/texture/TextureDescriptor.d.ts +42 -0
- package/dist/api/rendering/texture/TextureDescriptor.d.ts.map +1 -0
- package/dist/api/rendering/texture/TextureFormat.d.ts +54 -0
- package/dist/api/rendering/texture/TextureFormat.d.ts.map +1 -0
- package/dist/api/rendering/texture/TextureUsage.d.ts +42 -0
- package/dist/api/rendering/texture/TextureUsage.d.ts.map +1 -0
- package/dist/api/rendering/texture/TextureUtilities.d.ts +54 -0
- package/dist/api/rendering/texture/TextureUtilities.d.ts.map +1 -0
- package/dist/api/rendering/texture/TextureViewDescriptor.d.ts +22 -0
- package/dist/api/rendering/texture/TextureViewDescriptor.d.ts.map +1 -0
- package/dist/api/rendering/texture/TextureViewDimension.d.ts +17 -0
- package/dist/api/rendering/texture/TextureViewDimension.d.ts.map +1 -0
- package/dist/api/rendering/texture/_export-texture.d.ts +10 -0
- package/dist/api/rendering/texture/_export-texture.d.ts.map +1 -0
- package/dist/api/shader/IShaderModule.d.ts +21 -0
- package/dist/api/shader/IShaderModule.d.ts.map +1 -0
- package/dist/api/shader/IShaderModuleLoader.d.ts +13 -0
- package/dist/api/shader/IShaderModuleLoader.d.ts.map +1 -0
- package/dist/api/shader/ShaderStage.d.ts +10 -0
- package/dist/api/shader/ShaderStage.d.ts.map +1 -0
- package/dist/api/shader/_export-shader.d.ts +4 -0
- package/dist/api/shader/_export-shader.d.ts.map +1 -0
- package/dist/{core → api}/shader/shader-loader.d.ts +1 -1
- package/dist/api/shader/shader-loader.d.ts.map +1 -0
- package/dist/api/sprites/ISpriteBatch.d.ts +114 -0
- package/dist/api/sprites/ISpriteBatch.d.ts.map +1 -0
- package/dist/{core/sprite-batch → api/sprites}/SpriteBatch.d.ts +1 -1
- package/dist/api/sprites/SpriteBatch.d.ts.map +1 -0
- package/dist/{core/sprite-batch → api/sprites}/SpriteBatchDrawable.d.ts +1 -1
- package/dist/api/sprites/SpriteBatchDrawable.d.ts.map +1 -0
- package/dist/{core/sprite-batch → api/sprites}/SpriteBatchMesh.d.ts +1 -1
- package/dist/api/sprites/SpriteBatchMesh.d.ts.map +1 -0
- package/dist/api/sprites/_export_sprites.d.ts +2 -0
- package/dist/api/sprites/_export_sprites.d.ts.map +1 -0
- package/dist/api/time/GameTime.d.ts +23 -0
- package/dist/api/time/GameTime.d.ts.map +1 -0
- package/dist/api/time/ITimeManager.d.ts +19 -0
- package/dist/api/time/ITimeManager.d.ts.map +1 -0
- package/dist/api/time/TimeManager.d.ts +15 -0
- package/dist/api/time/TimeManager.d.ts.map +1 -0
- package/dist/api/time/_export_time.d.ts +4 -0
- package/dist/api/time/_export_time.d.ts.map +1 -0
- package/dist/api/utilities/AlignUtilities.d.ts +20 -0
- package/dist/api/utilities/AlignUtilities.d.ts.map +1 -0
- package/dist/api/utilities/GeometryUtilities.d.ts +13 -0
- package/dist/api/utilities/GeometryUtilities.d.ts.map +1 -0
- package/dist/api/utilities/MathHelper.d.ts +162 -0
- package/dist/api/utilities/MathHelper.d.ts.map +1 -0
- package/dist/api/utilities/_export.d.ts +4 -0
- package/dist/api/utilities/_export.d.ts.map +1 -0
- package/dist/api/window/IWindowManager.d.ts +64 -0
- package/dist/api/window/IWindowManager.d.ts.map +1 -0
- package/dist/api/window/WindowBounds.d.ts +16 -0
- package/dist/api/window/WindowBounds.d.ts.map +1 -0
- package/dist/{core/window/window-manager.d.ts → api/window/WindowManager.d.ts} +3 -3
- package/dist/api/window/WindowManager.d.ts.map +1 -0
- package/dist/api/window/_export.d.ts +3 -0
- package/dist/api/window/_export.d.ts.map +1 -0
- package/dist/core/rendering/AGraphicsDevice.d.ts +10 -6
- package/dist/core/rendering/AGraphicsDevice.d.ts.map +1 -1
- package/dist/core/rendering/ARenderer.d.ts +4 -5
- package/dist/core/rendering/ARenderer.d.ts.map +1 -1
- package/dist/core/rendering/blending/enums.d.ts +5 -2
- package/dist/core/rendering/blending/enums.d.ts.map +1 -1
- package/dist/core/rendering/sampler/sampler-descriptor.d.ts +1 -1
- package/dist/core/rendering/sampler/sampler-descriptor.d.ts.map +1 -1
- package/dist/core/rendering/texture/texture.d.ts +1 -1
- package/dist/core/rendering/texture/texture.d.ts.map +1 -1
- package/dist/core/rendering/vertex-buffer-layout.d.ts +2 -3
- package/dist/core/rendering/vertex-buffer-layout.d.ts.map +1 -1
- package/dist/index.d.ts +3 -2
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4052 -596
- package/dist/webgl/WebGLGraphicsDeviceFeatures.d.ts +1 -1
- package/dist/webgl/WebGLGraphicsDeviceFeatures.d.ts.map +1 -1
- package/dist/webgl/WebGlGpuInfo.d.ts +1 -1
- package/dist/webgl/WebGlGpuInfo.d.ts.map +1 -1
- package/dist/webgl/WebGlGraphicsDevice.d.ts +7 -5
- package/dist/webgl/WebGlGraphicsDevice.d.ts.map +1 -1
- package/dist/webgl/WebGlRenderer.d.ts +3 -3
- package/dist/webgl/WebGlRenderer.d.ts.map +1 -1
- package/dist/webgl/blending/webgl-blend-state.d.ts +1 -1
- package/dist/webgl/blending/webgl-blend-state.d.ts.map +1 -1
- package/dist/webgl/buffers/WebGlBuffersFactory.d.ts +1 -1
- package/dist/webgl/buffers/WebGlBuffersFactory.d.ts.map +1 -1
- package/dist/webgl/buffers/WebGlUniformBuffer.d.ts +1 -1
- package/dist/webgl/buffers/WebGlUniformBuffer.d.ts.map +1 -1
- package/dist/webgl/buffers/WebGlVertexBuffer.d.ts +6 -6
- package/dist/webgl/buffers/WebGlVertexBuffer.d.ts.map +1 -1
- package/dist/webgl/buffers/webgl-index-buffer.d.ts +2 -2
- package/dist/webgl/buffers/webgl-index-buffer.d.ts.map +1 -1
- package/dist/webgl/cast/cast.d.ts +2 -2
- package/dist/webgl/cast/cast.d.ts.map +1 -1
- package/dist/webgl/primitive/WebGlPrimitiveState.d.ts +1 -3
- package/dist/webgl/primitive/WebGlPrimitiveState.d.ts.map +1 -1
- package/dist/webgl/render-pass/WebGlRenderPass.d.ts +3 -3
- package/dist/webgl/render-pass/WebGlRenderPass.d.ts.map +1 -1
- package/dist/webgl/render-pipelines/AWebGlRenderPipeline.d.ts +1 -1
- package/dist/webgl/render-pipelines/AWebGlRenderPipeline.d.ts.map +1 -1
- package/dist/webgl/render-pipelines/WebGlMainRenderTargetRenderPipeline.d.ts +3 -1
- package/dist/webgl/render-pipelines/WebGlMainRenderTargetRenderPipeline.d.ts.map +1 -1
- package/dist/webgl/render-pipelines/WebGlRenderPipelineFactory.d.ts +1 -1
- package/dist/webgl/render-pipelines/WebGlRenderPipelineFactory.d.ts.map +1 -1
- package/dist/webgl/render-pipelines/inspect/WebGlInspectTextureMipsRenderPipeline.d.ts +3 -3
- package/dist/webgl/render-pipelines/inspect/WebGlInspectTextureMipsRenderPipeline.d.ts.map +1 -1
- package/dist/webgl/render-pipelines/material/WebGlUnlitRenderPipeline.d.ts +2 -2
- package/dist/webgl/render-pipelines/material/WebGlUnlitRenderPipeline.d.ts.map +1 -1
- package/dist/webgl/render-pipelines/sprite/WebGlSpriteRenderPipeline.d.ts +2 -2
- package/dist/webgl/render-pipelines/sprite/WebGlSpriteRenderPipeline.d.ts.map +1 -1
- package/dist/webgl/sampler/webgl-sampler.d.ts +1 -1
- package/dist/webgl/sampler/webgl-sampler.d.ts.map +1 -1
- package/dist/webgl/shader/WebGlShaderModule.d.ts +1 -1
- package/dist/webgl/shader/WebGlShaderModule.d.ts.map +1 -1
- package/dist/webgl/shader/WebGlShaderModuleLoader.d.ts +1 -1
- package/dist/webgl/shader/WebGlShaderModuleLoader.d.ts.map +1 -1
- package/dist/webgl/swap-chain/WebGlSwapChain.d.ts +1 -1
- package/dist/webgl/swap-chain/WebGlSwapChain.d.ts.map +1 -1
- package/dist/webgl/texture/WebGlTexture2D.d.ts +1 -1
- package/dist/webgl/texture/WebGlTexture2D.d.ts.map +1 -1
- package/dist/webgl/texture/WebGlTextureFactory.d.ts +3 -3
- package/dist/webgl/texture/WebGlTextureFactory.d.ts.map +1 -1
- package/dist/webgl/utilities/WebGlBufferUtilities.d.ts +1 -1
- package/dist/webgl/utilities/WebGlBufferUtilities.d.ts.map +1 -1
- package/dist/webgl/utilities/WebGlConverter.d.ts +6 -22
- package/dist/webgl/utilities/WebGlConverter.d.ts.map +1 -1
- package/dist/webgl/utilities/WebGlFrameBufferUtilities.d.ts +1 -1
- package/dist/webgl/utilities/WebGlFrameBufferUtilities.d.ts.map +1 -1
- package/dist/webgl/utilities/WebGlSamplerUtilities.d.ts +3 -3
- package/dist/webgl/utilities/WebGlSamplerUtilities.d.ts.map +1 -1
- package/dist/webgl/utilities/WebGlTextureUtilities.d.ts +5 -5
- package/dist/webgl/utilities/WebGlTextureUtilities.d.ts.map +1 -1
- package/dist/webgl/utilities/webgl-culling-utilities.d.ts +1 -1
- package/dist/webgl/utilities/webgl-culling-utilities.d.ts.map +1 -1
- package/dist/webgl/utilities/webgl-filter-anisotropic-utilities.d.ts +1 -1
- package/dist/webgl/utilities/webgl-renderbuffer-utilities.d.ts +1 -1
- package/dist/webgl/utilities/webgl-renderbuffer-utilities.d.ts.map +1 -1
- package/package.json +7 -6
- package/shaders/glsl/sprite_fs.glsl +1 -1
- package/src/{core/Framework.ts → Framework.ts} +78 -38
- package/src/api/FrameworkConfiguration.ts +29 -0
- package/src/api/IFramework.ts +153 -0
- package/src/api/IFrameworkConfiguration.ts +30 -0
- package/src/api/_export.ts +26 -0
- package/src/api/camera/CameraFactory.ts +56 -0
- package/src/api/camera/ICamera.ts +52 -0
- package/src/api/camera/ICameraFactory.ts +69 -0
- package/src/api/camera/IOrthographicCamera.ts +38 -0
- package/src/api/camera/OrbitCamera.ts +402 -0
- package/src/api/camera/OrthographicCamera.ts +257 -0
- package/src/api/camera/PerspectiveCamera.ts +206 -0
- package/src/api/camera/_export.ts +7 -0
- package/src/api/content/ContentConfig.ts +11 -0
- package/src/{core → api}/content/ContentManager.ts +4 -3
- package/src/api/content/IContent.ts +9 -0
- package/src/api/content/IContentManager.ts +41 -0
- package/src/api/content/IContentModule.ts +67 -0
- package/src/{content → api/content}/ShaderModuleContent.ts +8 -8
- package/src/api/content/_export-content.ts +4 -0
- package/src/api/core/IDisposable.ts +10 -0
- package/src/api/core/_export-core.ts +1 -0
- package/src/api/data/Color.ts +228 -0
- package/src/api/data/Rect.ts +92 -0
- package/src/api/data/State.ts +10 -0
- package/src/api/data/_export.ts +3 -0
- package/src/{geometry → api/geometry}/BaseGeometry.ts +15 -2
- package/src/{geometry → api/geometry}/GeometryBuilder.ts +1 -1
- package/src/api/geometry/GeometryFormat.ts +33 -0
- package/src/api/geometry/IGeometry.ts +66 -0
- package/src/api/geometry/IGeometryBuilder.ts +17 -0
- package/src/{VertexFormat.ts → api/geometry/VertexFormat.ts} +3 -7
- package/src/api/geometry/_export-geometry.ts +4 -0
- package/src/api/image/CpuImageProcessor.ts +125 -0
- package/src/api/image/IImageProcessor.ts +28 -0
- package/src/api/image/RawImageData.ts +47 -0
- package/src/api/image/_export.ts +3 -0
- package/src/api/index.ts +1 -0
- package/src/api/input/IInputManager.ts +62 -0
- package/src/api/input/InputDeviceType.ts +20 -0
- package/src/api/input/InputManager.ts +513 -0
- package/src/api/input/Key.ts +35 -0
- package/src/api/input/KeyboardState.ts +44 -0
- package/src/api/input/_export.ts +13 -0
- package/src/api/input/gamepad/Button.ts +21 -0
- package/src/api/input/gamepad/GamePadState.ts +65 -0
- package/src/api/input/gamepad/GamePadThumbSticks.ts +18 -0
- package/src/api/input/mouse/MouseButton.ts +9 -0
- package/src/api/input/mouse/MouseState.ts +70 -0
- package/src/api/input/touch/TouchCollection.ts +164 -0
- package/src/api/input/touch/TouchLocation.ts +159 -0
- package/src/api/input/touch/TouchLocationState.ts +15 -0
- package/src/api/input/touch/TouchPanelCapabilities.ts +31 -0
- package/src/api/loaders/IImageLoader.ts +22 -0
- package/src/api/loaders/ImageLoader.ts +93 -0
- package/src/api/loaders/_export.ts +2 -0
- package/src/api/material/IMaterial.ts +41 -0
- package/src/api/material/IMaterialFactory.ts +21 -0
- package/src/api/material/InspectTextureMipsMaterial.ts +113 -0
- package/src/api/material/MaterialFactory.ts +27 -0
- package/src/api/material/UnlitMaterial.ts +143 -0
- package/src/api/material/_export.ts +5 -0
- package/src/api/meshes/IMesh.ts +20 -0
- package/src/api/meshes/IMeshFactory.ts +28 -0
- package/src/api/meshes/Mesh.ts +256 -0
- package/src/api/meshes/MeshFactory.ts +36 -0
- package/src/api/meshes/MeshParameters.ts +25 -0
- package/src/api/meshes/QuadMesh.ts +104 -0
- package/src/api/meshes/_export.ts +6 -0
- package/src/api/rendering/IGPUInfo.ts +42 -0
- package/src/api/rendering/IGraphicsDevice.ts +103 -0
- package/src/api/rendering/IGraphicsDeviceFeatures.ts +32 -0
- package/src/api/rendering/IRenderer.ts +84 -0
- package/src/api/rendering/PowerPreference.ts +15 -0
- package/src/api/rendering/RenderingBackend.ts +20 -0
- package/src/api/rendering/_export-rendering.ts +6 -0
- package/src/api/rendering/blending/IBlendState.ts +17 -0
- package/src/api/rendering/blending/_export.ts +1 -0
- package/src/api/rendering/buffers/BufferUsage.ts +56 -0
- package/src/api/rendering/buffers/IBuffer.ts +24 -0
- package/src/api/rendering/buffers/IBufferFactory.ts +38 -0
- package/src/api/rendering/buffers/IIndexBuffer.ts +37 -0
- package/src/api/rendering/buffers/IUniformBuffer.ts +21 -0
- package/src/api/rendering/buffers/IVertexBuffer.ts +32 -0
- package/src/api/rendering/buffers/IVertexBufferLayout.ts +27 -0
- package/src/api/rendering/buffers/IndexBufferType.ts +13 -0
- package/src/api/rendering/buffers/VertexAttribute.ts +26 -0
- package/src/api/rendering/buffers/VertexStepMode.ts +13 -0
- package/src/api/rendering/buffers/_export-buffers.ts +11 -0
- package/src/api/rendering/primitive/CullMode.ts +17 -0
- package/src/api/rendering/primitive/FrontFace.ts +13 -0
- package/src/api/rendering/primitive/IPrimitiveState.ts +25 -0
- package/src/api/rendering/primitive/PrimitiveStateDescriptor.ts +27 -0
- package/src/api/rendering/primitive/PrimitiveTopology.ts +25 -0
- package/src/api/rendering/primitive/_export.ts +5 -0
- package/src/api/rendering/render-pipelines/IInspectTextureMipsRenderPipeline.ts +38 -0
- package/src/api/rendering/render-pipelines/IMainRenderTargetRenderPipeline.ts +21 -0
- package/src/api/rendering/render-pipelines/IRenderPipeline.ts +47 -0
- package/src/api/rendering/render-pipelines/IRenderPipelineFactory.ts +52 -0
- package/src/api/rendering/render-pipelines/ISpriteRenderPipeline.ts +25 -0
- package/src/api/rendering/render-pipelines/IUnlitRenderPipeline.ts +38 -0
- package/src/api/rendering/render-pipelines/_export-render-pipelines.ts +6 -0
- package/src/{core/renderer → api/rendering}/renderer-interface.ts +15 -9
- package/src/api/rendering/renderpass/IRenderPass.ts +18 -0
- package/src/api/rendering/renderpass/LoadAction.ts +32 -0
- package/src/api/rendering/renderpass/RenderPassColorAttachment.ts +61 -0
- package/src/api/rendering/renderpass/RenderPassDepthStencilAttachment.ts +76 -0
- package/src/api/rendering/renderpass/RenderPassDescriptor.ts +26 -0
- package/src/api/rendering/renderpass/StoreAction.ts +23 -0
- package/src/api/rendering/renderpass/_export.ts +6 -0
- package/src/api/rendering/sampler/ISampler.ts +52 -0
- package/src/api/rendering/sampler/MipMapSamplerFilter.ts +17 -0
- package/src/api/rendering/sampler/SamplerAddressMode.ts +23 -0
- package/src/api/rendering/sampler/SamplerDescriptor.ts +46 -0
- package/src/api/rendering/sampler/SamplerFilter.ts +13 -0
- package/src/api/rendering/sampler/_export.ts +5 -0
- package/src/api/rendering/sampler/sampler-enums.ts +20 -0
- package/src/api/rendering/swapchain/ISwapChain.ts +33 -0
- package/src/api/rendering/swapchain/SurfacePresentMode.ts +22 -0
- package/src/api/rendering/swapchain/SwapChainDescriptor.ts +23 -0
- package/src/api/rendering/swapchain/_export.ts +3 -0
- package/src/api/rendering/texture/ITexture2D.ts +100 -0
- package/src/api/rendering/texture/ITextureFactory.ts +56 -0
- package/src/api/rendering/texture/ITextureView.ts +20 -0
- package/src/api/rendering/texture/TextureDescriptor.ts +52 -0
- package/src/api/rendering/texture/TextureFormat.ts +58 -0
- package/src/api/rendering/texture/TextureUsage.ts +41 -0
- package/src/api/rendering/texture/TextureUtilities.ts +149 -0
- package/src/api/rendering/texture/TextureViewDescriptor.ts +25 -0
- package/src/api/rendering/texture/TextureViewDimension.ts +16 -0
- package/src/api/rendering/texture/_export-texture.ts +9 -0
- package/src/api/shader/IShaderModule.ts +23 -0
- package/src/api/shader/IShaderModuleLoader.ts +15 -0
- package/src/api/shader/ShaderStage.ts +9 -0
- package/src/api/shader/_export-shader.ts +3 -0
- package/src/{core → api}/shader/shader-loader.ts +1 -1
- package/src/api/sprites/ISpriteBatch.ts +144 -0
- package/src/{core/sprite-batch → api/sprites}/SpriteBatch.ts +8 -5
- package/src/{core/sprite-batch → api/sprites}/SpriteBatchDrawable.ts +6 -6
- package/src/{core/sprite-batch → api/sprites}/SpriteBatchMesh.ts +8 -4
- package/src/api/sprites/_export_sprites.ts +1 -0
- package/src/api/time/GameTime.ts +30 -0
- package/src/api/time/ITimeManager.ts +22 -0
- package/src/api/time/TimeManager.ts +33 -0
- package/src/api/time/_export_time.ts +3 -0
- package/src/api/utilities/AlignUtilities.ts +39 -0
- package/src/api/utilities/GeometryUtilities.ts +20 -0
- package/src/api/utilities/MathHelper.ts +256 -0
- package/src/api/utilities/_export.ts +3 -0
- package/src/api/window/IWindowManager.ts +78 -0
- package/src/api/window/WindowBounds.ts +17 -0
- package/src/{core/window/window-manager.ts → api/window/WindowManager.ts} +2 -2
- package/src/api/window/_export.ts +2 -0
- package/src/core/rendering/AGraphicsDevice.ts +15 -9
- package/src/core/rendering/ARenderer.ts +7 -7
- package/src/core/rendering/blending/enums.ts +5 -5
- package/src/core/rendering/sampler/sampler-descriptor.ts +1 -1
- package/src/core/rendering/texture/texture.ts +4 -3
- package/src/core/rendering/vertex-buffer-layout.ts +3 -4
- package/src/index.ts +3 -2
- package/src/main.ts +5 -10
- package/src/webgl/WebGLGraphicsDeviceFeatures.ts +1 -1
- package/src/webgl/WebGlGpuInfo.ts +1 -1
- package/src/webgl/WebGlGraphicsDevice.ts +19 -15
- package/src/webgl/WebGlRenderer.ts +7 -5
- package/src/webgl/blending/webgl-blend-state.ts +1 -1
- package/src/webgl/buffers/WebGlBuffersFactory.ts +1 -1
- package/src/webgl/buffers/WebGlUniformBuffer.ts +1 -1
- package/src/webgl/buffers/WebGlVertexBuffer.ts +8 -7
- package/src/webgl/buffers/webgl-index-buffer.ts +2 -2
- package/src/webgl/cast/cast.ts +2 -2
- package/src/webgl/primitive/WebGlPrimitiveState.ts +7 -3
- package/src/webgl/render-pass/WebGlRenderPass.ts +17 -8
- package/src/webgl/render-pipelines/AWebGlRenderPipeline.ts +1 -1
- package/src/webgl/render-pipelines/WebGlMainRenderTargetRenderPipeline.ts +10 -2
- package/src/webgl/render-pipelines/WebGlRenderPipelineFactory.ts +1 -1
- package/src/webgl/render-pipelines/inspect/WebGlInspectTextureMipsRenderPipeline.ts +3 -3
- package/src/webgl/render-pipelines/material/WebGlUnlitRenderPipeline.ts +2 -2
- package/src/webgl/render-pipelines/sprite/WebGlSpriteRenderPipeline.ts +2 -2
- package/src/webgl/sampler/webgl-sampler.ts +2 -2
- package/src/webgl/shader/WebGlShaderModule.ts +2 -2
- package/src/webgl/shader/WebGlShaderModuleLoader.ts +1 -1
- package/src/webgl/swap-chain/WebGlSwapChain.ts +1 -1
- package/src/webgl/texture/WebGlTexture2D.ts +6 -4
- package/src/webgl/texture/WebGlTextureFactory.ts +7 -7
- package/src/webgl/utilities/WebGlBufferUtilities.ts +1 -1
- package/src/webgl/utilities/WebGlConverter.ts +19 -62
- package/src/webgl/utilities/WebGlFrameBufferUtilities.ts +1 -1
- package/src/webgl/utilities/WebGlSamplerUtilities.ts +4 -4
- package/src/webgl/utilities/WebGlTextureUtilities.ts +29 -20
- package/src/webgl/utilities/webgl-culling-utilities.ts +1 -1
- package/src/webgl/utilities/webgl-filter-anisotropic-utilities.ts +1 -1
- package/src/webgl/utilities/webgl-renderbuffer-utilities.ts +1 -1
- package/dist/TextureFormat.d.ts +0 -2
- package/dist/TextureFormat.d.ts.map +0 -1
- package/dist/VertexFormat.d.ts.map +0 -1
- package/dist/_ris-ktx2-node-module-stub-nzBRmiO_.js +0 -10
- package/dist/common/sampler-enums.d.ts +0 -16
- package/dist/common/sampler-enums.d.ts.map +0 -1
- package/dist/common/vertex-step-mode.d.ts +0 -11
- package/dist/common/vertex-step-mode.d.ts.map +0 -1
- package/dist/content/ShaderModuleContent.d.ts.map +0 -1
- package/dist/core/Framework.d.ts.map +0 -1
- package/dist/core/FrameworkConfig.d.ts +0 -26
- package/dist/core/FrameworkConfig.d.ts.map +0 -1
- package/dist/core/buffers/buffers-factory-interface.d.ts +0 -2
- package/dist/core/buffers/buffers-factory-interface.d.ts.map +0 -1
- package/dist/core/buffers/vertex-buffer-interface.d.ts +0 -2
- package/dist/core/buffers/vertex-buffer-interface.d.ts.map +0 -1
- package/dist/core/content/ContentManager.d.ts.map +0 -1
- package/dist/core/dependency-injection/register-services-interface.d.ts +0 -13
- package/dist/core/dependency-injection/register-services-interface.d.ts.map +0 -1
- package/dist/core/framework-interface.d.ts +0 -2
- package/dist/core/framework-interface.d.ts.map +0 -1
- package/dist/core/input/InputManager.d.ts +0 -27
- package/dist/core/input/InputManager.d.ts.map +0 -1
- package/dist/core/renderer/renderer-interface.d.ts.map +0 -1
- package/dist/core/rendering/primitive/PrimitiveStateDescriptor.d.ts +0 -26
- package/dist/core/rendering/primitive/PrimitiveStateDescriptor.d.ts.map +0 -1
- package/dist/core/rendering/primitive/enums.d.ts +0 -56
- package/dist/core/rendering/primitive/enums.d.ts.map +0 -1
- package/dist/core/rendering/render-pass/render-pass-descriptor.d.ts +0 -2
- package/dist/core/rendering/render-pass/render-pass-descriptor.d.ts.map +0 -1
- package/dist/core/rendering/render-pass/render-pass-interface.d.ts +0 -15
- package/dist/core/rendering/render-pass/render-pass-interface.d.ts.map +0 -1
- package/dist/core/rendering/vertex-attribute.d.ts +0 -17
- package/dist/core/rendering/vertex-attribute.d.ts.map +0 -1
- package/dist/core/shader/shader-loader.d.ts.map +0 -1
- package/dist/core/shader/shader-module-interface.d.ts +0 -2
- package/dist/core/shader/shader-module-interface.d.ts.map +0 -1
- package/dist/core/sprite-batch/SpriteBatch.d.ts.map +0 -1
- package/dist/core/sprite-batch/SpriteBatchDrawable.d.ts.map +0 -1
- package/dist/core/sprite-batch/SpriteBatchMesh.d.ts.map +0 -1
- package/dist/core/window/window-manager.d.ts.map +0 -1
- package/dist/geometry/BaseGeometry.d.ts.map +0 -1
- package/dist/geometry/GeometryBuilder.d.ts.map +0 -1
- package/dist/geometry/GeometryFormat.d.ts +0 -34
- package/dist/geometry/GeometryFormat.d.ts.map +0 -1
- package/dist/webgl/utilities/webgl-render-buffer-utilities.d.ts +0 -5
- package/dist/webgl/utilities/webgl-render-buffer-utilities.d.ts.map +0 -1
- package/src/TextureFormat.ts +0 -0
- package/src/common/sampler-enums.ts +0 -21
- package/src/common/vertex-step-mode.ts +0 -12
- package/src/core/FrameworkConfig.ts +0 -31
- package/src/core/buffers/buffers-factory-interface.ts +0 -0
- package/src/core/buffers/vertex-buffer-interface.ts +0 -0
- package/src/core/dependency-injection/register-services-interface.ts +0 -15
- package/src/core/framework-interface.ts +0 -0
- package/src/core/input/InputManager.ts +0 -115
- package/src/core/rendering/primitive/PrimitiveStateDescriptor.ts +0 -32
- package/src/core/rendering/primitive/enums.ts +0 -68
- package/src/core/rendering/render-pass/render-pass-descriptor.ts +0 -0
- package/src/core/rendering/render-pass/render-pass-interface.ts +0 -17
- package/src/core/rendering/vertex-attribute.ts +0 -20
- package/src/core/shader/shader-module-interface.ts +0 -1
- package/src/counter.ts +0 -9
- package/src/geometry/GeometryFormat.ts +0 -37
- package/src/webgl/utilities/webgl-render-buffer-utilities.ts +0 -23
- /package/dist/{content → api/content}/ShaderModuleContent.d.ts +0 -0
- /package/dist/{VertexFormat.d.ts → api/geometry/VertexFormat.d.ts} +0 -0
- /package/dist/{core/renderer → api/rendering}/enums.d.ts +0 -0
- /package/dist/{core/renderer → api/rendering}/rendering-limits.d.ts +0 -0
- /package/src/{core/renderer → api/rendering}/enums.ts +0 -0
- /package/src/{core/renderer → api/rendering}/rendering-limits.ts +0 -0
|
@@ -0,0 +1,100 @@
|
|
|
1
|
+
import type { ITextureView } from "./ITextureView.ts";
|
|
2
|
+
import type { IContent } from "../../content/IContent.ts";
|
|
3
|
+
import {TextureUsage} from "./TextureUsage.ts";
|
|
4
|
+
import {State} from "../../data/State.ts";
|
|
5
|
+
import {TextureViewDescriptor} from "./TextureViewDescriptor.ts";
|
|
6
|
+
import {TextureFormat} from "./TextureFormat.ts";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The texture 2D interface.
|
|
10
|
+
*/
|
|
11
|
+
export interface ITexture2D extends IContent {
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* The default texture view.
|
|
15
|
+
* It is created with default parameters and can be used when no specific view is needed.
|
|
16
|
+
*/
|
|
17
|
+
readonly defaultTextureView: ITextureView;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The texture usage.
|
|
21
|
+
*/
|
|
22
|
+
readonly textureUsage: TextureUsage;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The texture format.
|
|
26
|
+
*/
|
|
27
|
+
readonly textureFormat: TextureFormat;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* The texture view format.
|
|
31
|
+
* In most cases it will be the same as the texture format, but in some cases it can be different.
|
|
32
|
+
*
|
|
33
|
+
* Case where it might differ is if texture is used as depth texture and shader binding.
|
|
34
|
+
*/
|
|
35
|
+
readonly textureViewFormat: TextureFormat;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* The id of the texture.
|
|
39
|
+
*/
|
|
40
|
+
readonly id: number;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* The handle of the underlying graphics API texture object.
|
|
44
|
+
*/
|
|
45
|
+
readonly handle?: any;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The label.
|
|
49
|
+
*/
|
|
50
|
+
readonly label: string | null;
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* The current state.
|
|
54
|
+
*/
|
|
55
|
+
readonly textureState: State;
|
|
56
|
+
|
|
57
|
+
/**
|
|
58
|
+
* The size of this texture in RAM.
|
|
59
|
+
* Note that size if rough approximation as real size can depend on driver implementation.
|
|
60
|
+
*/
|
|
61
|
+
readonly size: number;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* The width of the texture.
|
|
65
|
+
*/
|
|
66
|
+
readonly width: number;
|
|
67
|
+
|
|
68
|
+
/**
|
|
69
|
+
* The height of the texture.
|
|
70
|
+
*/
|
|
71
|
+
readonly height: number;
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* The number of mipmap levels.
|
|
75
|
+
*/
|
|
76
|
+
readonly mipLevels: number;
|
|
77
|
+
|
|
78
|
+
/**
|
|
79
|
+
* The event that is raised when the texture is disposed.
|
|
80
|
+
*/
|
|
81
|
+
addOnDisposedListener(event: (obj: ITexture2D) => void): void;
|
|
82
|
+
|
|
83
|
+
/**
|
|
84
|
+
* The event that is raised when the texture is disposed.
|
|
85
|
+
*/
|
|
86
|
+
removeOnDisposedListener(event: (obj: ITexture2D) => void): void;
|
|
87
|
+
|
|
88
|
+
/**
|
|
89
|
+
* Creates the texture view with the specified description.
|
|
90
|
+
* @param descriptor - The texture view descriptor.
|
|
91
|
+
* @returns The texture view.
|
|
92
|
+
*/
|
|
93
|
+
createView(descriptor?: TextureViewDescriptor): ITextureView;
|
|
94
|
+
|
|
95
|
+
/**
|
|
96
|
+
* Initializes the texture.
|
|
97
|
+
*/
|
|
98
|
+
initialize(): void;
|
|
99
|
+
|
|
100
|
+
}
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {Color} from "../../data/Color.ts";
|
|
2
|
+
import {TextureUsage} from "./TextureUsage.ts";
|
|
3
|
+
import {TextureFormat} from "./TextureFormat.ts";
|
|
4
|
+
import type { ITexture2D } from "./ITexture2D.ts";
|
|
5
|
+
import {TextureDescriptor} from "./TextureDescriptor.ts";
|
|
6
|
+
import type {IKtx2Texture} from "ris-ktx2";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The texture factory.
|
|
10
|
+
*/
|
|
11
|
+
export interface ITextureFactory {
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Creates empty texture.
|
|
15
|
+
* @param width The texture width.
|
|
16
|
+
* @param height The texture height.
|
|
17
|
+
* @param defaultColor The optional color.
|
|
18
|
+
* @param textureUsage Texture usage.
|
|
19
|
+
* @param textureFormat Texture format.
|
|
20
|
+
* @param label The label.
|
|
21
|
+
*/
|
|
22
|
+
createEmpty(
|
|
23
|
+
width: number, height: number,
|
|
24
|
+
defaultColor?: Color,
|
|
25
|
+
textureUsage?: TextureUsage,
|
|
26
|
+
textureFormat?: TextureFormat,
|
|
27
|
+
label?: string): ITexture2D;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Creates a texture from image data.
|
|
31
|
+
* @param width - The width of the image.
|
|
32
|
+
* @param height - The height of the image.
|
|
33
|
+
* @param data - The image data.
|
|
34
|
+
* @param channels - The number of channels.
|
|
35
|
+
* @param label - The label.
|
|
36
|
+
* @param usage - Texture usage. By default, it is COPY_DST | TEXTURE_BINDING.
|
|
37
|
+
* @param textureFormat - The texture format. By default, it is undefined. If so, the preferred texture format is used.
|
|
38
|
+
* @param generateMipMaps - Indicates if texture should generate mipmap levels.
|
|
39
|
+
* @returns The texture.
|
|
40
|
+
*/
|
|
41
|
+
create(width: number, height: number,
|
|
42
|
+
data?: number[] | HTMLImageElement | ArrayBufferView,
|
|
43
|
+
channels?: number,
|
|
44
|
+
label?: string,
|
|
45
|
+
usage?: TextureUsage,
|
|
46
|
+
textureFormat?: TextureFormat,
|
|
47
|
+
generateMipMaps?: boolean): ITexture2D;
|
|
48
|
+
|
|
49
|
+
/**
|
|
50
|
+
* Create a texture from a KTX2 file.
|
|
51
|
+
* @param ktxTexture - The ktx2 texture.
|
|
52
|
+
* @param descriptor - The optional texture descriptor.
|
|
53
|
+
* @returns The 2D texture.
|
|
54
|
+
*/
|
|
55
|
+
createFromKtx2(ktxTexture: IKtx2Texture, descriptor?: TextureDescriptor): ITexture2D;
|
|
56
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import {TextureFormat} from "./TextureFormat.ts";
|
|
2
|
+
import type { IDisposable } from "../../core/IDisposable.ts";
|
|
3
|
+
import {TextureViewDimension} from "./TextureViewDimension.ts";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The interface for texture views.
|
|
7
|
+
*/
|
|
8
|
+
export interface ITextureView extends IDisposable {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The texture format of the texture view.
|
|
12
|
+
*/
|
|
13
|
+
readonly textureFormat: TextureFormat;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The dimension of the texture view.
|
|
17
|
+
*/
|
|
18
|
+
readonly dimension: TextureViewDimension;
|
|
19
|
+
|
|
20
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import {TextureFormat} from "./TextureFormat.ts";
|
|
2
|
+
import {TextureUsage} from "./TextureUsage.ts";
|
|
3
|
+
import {vec2} from "gl-matrix";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The texture descriptor.
|
|
7
|
+
*/
|
|
8
|
+
export class TextureDescriptor {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The texture width.
|
|
12
|
+
*/
|
|
13
|
+
public width: number = 0;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The texture height.
|
|
17
|
+
*/
|
|
18
|
+
public height: number = 0;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The texture format.
|
|
22
|
+
* By default, it is UNDEFINED.
|
|
23
|
+
*/
|
|
24
|
+
public textureFormat = TextureFormat.UNDEFINED;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The texture usage.
|
|
28
|
+
* By default, it is TEXTURE_BINDING | COPY_DST.
|
|
29
|
+
*/
|
|
30
|
+
public textureUsage = TextureUsage.TEXTURE_BINDING | TextureUsage.COPY_DST;
|
|
31
|
+
|
|
32
|
+
/**
|
|
33
|
+
* The texture label.
|
|
34
|
+
*/
|
|
35
|
+
public label: string | null = null;
|
|
36
|
+
|
|
37
|
+
/**
|
|
38
|
+
* The data per mip level.
|
|
39
|
+
*/
|
|
40
|
+
public data?: Uint8Array[] = undefined;
|
|
41
|
+
|
|
42
|
+
/**
|
|
43
|
+
* Should mipmaps be generated.
|
|
44
|
+
*/
|
|
45
|
+
public generateMipmaps = false;
|
|
46
|
+
|
|
47
|
+
/**
|
|
48
|
+
* The block size of a texture, which must be set for compressed textures.
|
|
49
|
+
*/
|
|
50
|
+
public blockSize?: vec2;
|
|
51
|
+
|
|
52
|
+
}
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The texture format.
|
|
3
|
+
*/
|
|
4
|
+
export enum TextureFormat {
|
|
5
|
+
/**
|
|
6
|
+
* Default value.
|
|
7
|
+
For unknown texture format.
|
|
8
|
+
*/
|
|
9
|
+
UNDEFINED = 0,
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Red, green, blue, and alpha channels.
|
|
13
|
+
* 8-bit integer per channel.
|
|
14
|
+
* [0, 255] converted to/from float [0, 1] in shader.
|
|
15
|
+
* */
|
|
16
|
+
RGBA_8_UNORM = 1,
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Red, green, blue, and alpha channels.
|
|
20
|
+
* 8-bit integer per channel.
|
|
21
|
+
* Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader.
|
|
22
|
+
*/
|
|
23
|
+
RGBA_8_UNORM_SRGB = 2,
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Depth 24 and stencil 8.
|
|
27
|
+
*/
|
|
28
|
+
DEPTH_24_STENCIL_8 = 3,
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The depth 32 float.
|
|
32
|
+
*/
|
|
33
|
+
DEPTH_32_FLOAT = 4,
|
|
34
|
+
|
|
35
|
+
RED_32_FLOAT = 5,
|
|
36
|
+
/**
|
|
37
|
+
* The 32-bit float format with one red component. It is typeless.
|
|
38
|
+
|
|
39
|
+
Valid only for D3D11.
|
|
40
|
+
*/
|
|
41
|
+
RED_32_TYPELESS = 6,
|
|
42
|
+
/**
|
|
43
|
+
* The BC7 compressed format with four 8-bit normalized unsigned integer components in RGBA order.
|
|
44
|
+
*/
|
|
45
|
+
BC7_RGBA_UNORM = 7,
|
|
46
|
+
/**
|
|
47
|
+
* The BC3 compressed format with four 8-bit normalized unsigned integer components in RGBA order.
|
|
48
|
+
*/
|
|
49
|
+
BC3_RGBA_UNORM = 8,
|
|
50
|
+
/**
|
|
51
|
+
* The ETC2 compressed format with four 8-bit normalized unsigned integer components in RGBA order.
|
|
52
|
+
*/
|
|
53
|
+
ETC2_RGBA8_UNORM = 9,
|
|
54
|
+
/**
|
|
55
|
+
* The ASTC 4x4 compressed format with four 8-bit normalized unsigned integer components in RGBA order.
|
|
56
|
+
*/
|
|
57
|
+
ASTC_4X4_RGBA = 10
|
|
58
|
+
}
|
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The usage of the texture.
|
|
3
|
+
*/
|
|
4
|
+
export enum TextureUsage {
|
|
5
|
+
/**
|
|
6
|
+
* Can be used in case where it's not relevant, such as in OpenGL.
|
|
7
|
+
*/
|
|
8
|
+
NONE = 1,
|
|
9
|
+
/**
|
|
10
|
+
* Texture can be read from but has no other usages.
|
|
11
|
+
*
|
|
12
|
+
* Corresponds to WGPU_COPY_SRC in WebGPU.
|
|
13
|
+
*
|
|
14
|
+
* In D3D11 can be translated to following properties:
|
|
15
|
+
* D3D11_BIND_SHADER_RESOURCED3D11_USAGE_STAGINGD3D11_BIND_FLAG_NONE
|
|
16
|
+
*/
|
|
17
|
+
COPY_SRC = 2,
|
|
18
|
+
/**
|
|
19
|
+
* The texture is used as a destination for copying.
|
|
20
|
+
* To upload data.
|
|
21
|
+
*/
|
|
22
|
+
COPY_DST = 4,
|
|
23
|
+
/**
|
|
24
|
+
* The texture is used as a source for texture binding.
|
|
25
|
+
* Can be read in shader.
|
|
26
|
+
*
|
|
27
|
+
* The corresponding binding in D3D11 is D3D11_BIND_SHADER_RESOURCE.
|
|
28
|
+
*/
|
|
29
|
+
TEXTURE_BINDING = 8,
|
|
30
|
+
/**
|
|
31
|
+
* The texture is used as a storage texture.
|
|
32
|
+
* Can be written in shader.
|
|
33
|
+
*/
|
|
34
|
+
STORAGE_BINDING = 16,
|
|
35
|
+
/**
|
|
36
|
+
* The texture is used as a render attachment.
|
|
37
|
+
*
|
|
38
|
+
* The corresponding binding in D3D11 is D3D11_BIND_RENDER_TARGET.
|
|
39
|
+
*/
|
|
40
|
+
RENDER_ATTACHMENT = 32
|
|
41
|
+
}
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import {TextureFormat} from "./TextureFormat.ts";
|
|
2
|
+
import {KtxTranscodeFormat, TextureFormatInfo, VkFormat} from "ris-ktx2";
|
|
3
|
+
import {AlignUtilities} from "../../utilities/AlignUtilities.ts";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The texture utilities.
|
|
7
|
+
*/
|
|
8
|
+
export class TextureUtilities {
|
|
9
|
+
|
|
10
|
+
private static readonly _compressedTextureFormats = [
|
|
11
|
+
TextureFormat.ASTC_4X4_RGBA,
|
|
12
|
+
TextureFormat.BC3_RGBA_UNORM,
|
|
13
|
+
TextureFormat.BC7_RGBA_UNORM,
|
|
14
|
+
TextureFormat.ETC2_RGBA8_UNORM
|
|
15
|
+
];
|
|
16
|
+
private static readonly _vkFormatTextureFormat: { [key: number]: number } = {
|
|
17
|
+
[VkFormat.R8G8B8A8_UNORM]: TextureFormat.RGBA_8_UNORM,
|
|
18
|
+
[VkFormat.R8G8B8A8_SRGB]: TextureFormat.RGBA_8_UNORM_SRGB,
|
|
19
|
+
[VkFormat.BC7_UNORM_BLOCK]: TextureFormat.BC7_RGBA_UNORM,
|
|
20
|
+
[VkFormat.ASTC_4X4_UNORM_BLOCK]: TextureFormat.ASTC_4X4_RGBA,
|
|
21
|
+
[VkFormat.BC3_UNORM_BLOCK]: TextureFormat.BC3_RGBA_UNORM,
|
|
22
|
+
[VkFormat.ETC2_R8G8B8A8_UNORM_BLOCK]: TextureFormat.ETC2_RGBA8_UNORM,
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
private static readonly _textureFormatVkFormat: { [key: number]: number } = {
|
|
26
|
+
[TextureFormat.RGBA_8_UNORM]: VkFormat.R8G8B8A8_UNORM,
|
|
27
|
+
[TextureFormat.RGBA_8_UNORM_SRGB]: VkFormat.R8G8B8A8_SRGB,
|
|
28
|
+
[TextureFormat.DEPTH_24_STENCIL_8]: VkFormat.D24_UNORM_S8_UINT,
|
|
29
|
+
[TextureFormat.BC3_RGBA_UNORM]: VkFormat.BC3_UNORM_BLOCK,
|
|
30
|
+
[TextureFormat.BC7_RGBA_UNORM]: VkFormat.BC7_UNORM_BLOCK,
|
|
31
|
+
[TextureFormat.ASTC_4X4_RGBA]: VkFormat.ASTC_4X4_UNORM_BLOCK,
|
|
32
|
+
[TextureFormat.ETC2_RGBA8_UNORM] : VkFormat.ETC2_R8G8B8A8_UNORM_BLOCK,
|
|
33
|
+
};
|
|
34
|
+
|
|
35
|
+
private static readonly _mapTextureFormatKtxTranscodeFormat: { [key: number]: number } = {
|
|
36
|
+
[TextureFormat.RGBA_8_UNORM]: KtxTranscodeFormat.RGBA32,
|
|
37
|
+
[TextureFormat.ASTC_4X4_RGBA]: KtxTranscodeFormat.ASTC_4X4_RGBA,
|
|
38
|
+
[TextureFormat.BC3_RGBA_UNORM]: KtxTranscodeFormat.BC3_RGBA,
|
|
39
|
+
[TextureFormat.BC7_RGBA_UNORM]: KtxTranscodeFormat.BC7_RGBA,
|
|
40
|
+
[TextureFormat.ETC2_RGBA8_UNORM]: KtxTranscodeFormat.ETC2_RGBA,
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
private static readonly _mapKtxTranscodeFormatVkFormat: { [key: number]: number } = {
|
|
44
|
+
[KtxTranscodeFormat.KTX_TTF_ETC1_RGB]: VkFormat.ETC2_R8G8B8_UNORM_BLOCK,
|
|
45
|
+
[KtxTranscodeFormat.ETC2_RGBA]: VkFormat.ETC2_R8G8B8A8_UNORM_BLOCK,
|
|
46
|
+
[KtxTranscodeFormat.KTX_TTF_BC1_RGB]: VkFormat.BC1_RGB_UNORM_BLOCK,
|
|
47
|
+
[KtxTranscodeFormat.BC3_RGBA]: VkFormat.BC3_UNORM_BLOCK,
|
|
48
|
+
[KtxTranscodeFormat.KTX_TTF_BC4_R]: VkFormat.BC4_UNORM_BLOCK,
|
|
49
|
+
[KtxTranscodeFormat.KTX_TTF_BC5_RG]: VkFormat.BC5_UNORM_BLOCK,
|
|
50
|
+
[KtxTranscodeFormat.BC7_RGBA]: VkFormat.BC7_UNORM_BLOCK,
|
|
51
|
+
[KtxTranscodeFormat.KTX_TTF_PVRTC1_4_RGB]: VkFormat.PVRTC1_4BPP_UNORM_BLOCK_IMG,
|
|
52
|
+
[KtxTranscodeFormat.KTX_TTF_PVRTC1_4_RGBA]: VkFormat.PVRTC1_4BPP_UNORM_BLOCK_IMG,
|
|
53
|
+
[KtxTranscodeFormat.ASTC_4X4_RGBA]: VkFormat.ASTC_4X4_UNORM_BLOCK,
|
|
54
|
+
[KtxTranscodeFormat.RGBA32]: VkFormat.R8G8B8A8_UNORM,
|
|
55
|
+
[KtxTranscodeFormat.KTX_TTF_RGB565]: VkFormat.R5G6B5_UNORM_PACK16,
|
|
56
|
+
[KtxTranscodeFormat.KTX_TTF_BGR565]: VkFormat.B5G6R5_UNORM_PACK16,
|
|
57
|
+
[KtxTranscodeFormat.KTX_TTF_RGBA4444]: VkFormat.R4G4B4A4_UNORM_PACK16,
|
|
58
|
+
[KtxTranscodeFormat.KTX_TTF_PVRTC2_4_RGB]: VkFormat.PVRTC2_4BPP_UNORM_BLOCK_IMG,
|
|
59
|
+
[KtxTranscodeFormat.KTX_TTF_PVRTC2_4_RGBA]: VkFormat.PVRTC2_4BPP_UNORM_BLOCK_IMG,
|
|
60
|
+
[KtxTranscodeFormat.KTX_TTF_ETC2_EAC_R11]: VkFormat.EAC_R11_UNORM_BLOCK,
|
|
61
|
+
[KtxTranscodeFormat.KTX_TTF_ETC2_EAC_RG11]: VkFormat.EAC_R11G11_UNORM_BLOCK,
|
|
62
|
+
};
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* Checks if the given texture format is a compressed texture format.
|
|
66
|
+
* @param format - The texture format to check.
|
|
67
|
+
* @returns true if a texture format is a compressed texture format.
|
|
68
|
+
*/
|
|
69
|
+
public static isCompressedTextureFormat(format: TextureFormat): boolean {
|
|
70
|
+
return this._compressedTextureFormats.indexOf(format) !== -1;
|
|
71
|
+
}
|
|
72
|
+
|
|
73
|
+
/**
|
|
74
|
+
* Gets the number of mip levels for the given width and height.
|
|
75
|
+
*
|
|
76
|
+
* @param width The width.
|
|
77
|
+
* @param height The height.
|
|
78
|
+
* @returns The number of mip levels.
|
|
79
|
+
*/
|
|
80
|
+
public static mipLevels(width: number, height: number): number {
|
|
81
|
+
return Math.floor(Math.log2(Math.max(width, height))) + 1;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Gets the number of VRAM reserved for a given texture format of a given size.
|
|
86
|
+
*
|
|
87
|
+
* @param textureFormat The texture format.
|
|
88
|
+
* @param width Texture width.
|
|
89
|
+
* @param height Texture height.
|
|
90
|
+
* @returns The number of bytes per pixel.
|
|
91
|
+
*/
|
|
92
|
+
public static getVRamSize(textureFormat: TextureFormat, width: number, height: number): number {
|
|
93
|
+
let vkFormat = this._textureFormatVkFormat[textureFormat];
|
|
94
|
+
if (!vkFormat) {
|
|
95
|
+
throw new Error(`Not implemented: ${textureFormat}`);
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
const texInfo = TextureFormatInfo.fromVkFormat(vkFormat);
|
|
99
|
+
|
|
100
|
+
if(texInfo.blockWidth > 1){
|
|
101
|
+
width = AlignUtilities.align(width, texInfo.blockWidth);
|
|
102
|
+
}
|
|
103
|
+
if(texInfo.blockHeight > 1){
|
|
104
|
+
height = AlignUtilities.align(height, texInfo.blockHeight);
|
|
105
|
+
}
|
|
106
|
+
|
|
107
|
+
return width * height * texInfo.pixelSize;
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
/**
|
|
111
|
+
* Converts the VkFormat to TextureFormat.
|
|
112
|
+
* @param vkFormat The VK format.
|
|
113
|
+
* @returns The texture format.
|
|
114
|
+
*/
|
|
115
|
+
public static convertVkFormatToTextureFormat(vkFormat: VkFormat): TextureFormat {
|
|
116
|
+
const format = this._vkFormatTextureFormat[vkFormat];
|
|
117
|
+
if (!format) {
|
|
118
|
+
throw new Error(`Not implemented: ${vkFormat}`);
|
|
119
|
+
}
|
|
120
|
+
return format;
|
|
121
|
+
}
|
|
122
|
+
|
|
123
|
+
/**
|
|
124
|
+
* Maps the Texture Format to Ktx Transcode Format.
|
|
125
|
+
* @param textureFormat The texture format.
|
|
126
|
+
* @returns The Ktx Transcode Format.
|
|
127
|
+
*/
|
|
128
|
+
public static convertTextureFormatToKtxTranscodeFormat(textureFormat: TextureFormat): KtxTranscodeFormat {
|
|
129
|
+
const format = this._mapTextureFormatKtxTranscodeFormat[textureFormat];
|
|
130
|
+
if (!format) {
|
|
131
|
+
throw new Error(`Not implemented: ${textureFormat}`);
|
|
132
|
+
}
|
|
133
|
+
return format;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
/**
|
|
137
|
+
* Converts the Ktx Transcode Format to VkFormat.
|
|
138
|
+
* @param transcodeFormat The KTX transcode format.
|
|
139
|
+
* @returns The VkFormat.
|
|
140
|
+
*/
|
|
141
|
+
public static convertKtxTranscodeFormatToVkFormat(transcodeFormat: KtxTranscodeFormat): VkFormat {
|
|
142
|
+
const format = this._mapKtxTranscodeFormatVkFormat[transcodeFormat];
|
|
143
|
+
if (!format) {
|
|
144
|
+
throw new Error(`Not implemented: ${transcodeFormat}`);
|
|
145
|
+
}
|
|
146
|
+
return format;
|
|
147
|
+
}
|
|
148
|
+
|
|
149
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The descriptor for the texture view.
|
|
3
|
+
* It contains the parameters that are used to create a texture view.
|
|
4
|
+
*/
|
|
5
|
+
import {TextureViewDimension} from "./TextureViewDimension.ts";
|
|
6
|
+
import {TextureFormat} from "./TextureFormat.ts";
|
|
7
|
+
|
|
8
|
+
export class TextureViewDescriptor {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The label of the texture view.
|
|
12
|
+
*/
|
|
13
|
+
public label?: string;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The dimension of the texture view.
|
|
17
|
+
* It is used to specify the type of the texture view and how it will be used in shaders.
|
|
18
|
+
*/
|
|
19
|
+
public dimension: TextureViewDimension = TextureViewDimension.DIMENSION_2D;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The texture format of the texture view.
|
|
23
|
+
*/
|
|
24
|
+
public textureFormat: TextureFormat = TextureFormat.RGBA_8_UNORM;
|
|
25
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The texture view dimension.
|
|
3
|
+
*/
|
|
4
|
+
export enum TextureViewDimension {
|
|
5
|
+
DIMENSIONUNDEFINED = 0,
|
|
6
|
+
DIMENSION1D = 1,
|
|
7
|
+
/**
|
|
8
|
+
* Texture view dimension for 2D textures, including multisampled 2D textures.
|
|
9
|
+
*/
|
|
10
|
+
DIMENSION_2D = 2,
|
|
11
|
+
DIMENSION2DARRAY = 3,
|
|
12
|
+
DIMENSIONCUBE = 4,
|
|
13
|
+
DIMENSIONCUBEARRAY = 5,
|
|
14
|
+
DIMENSION3D = 6,
|
|
15
|
+
DIMENSIONFORCE32 = 2147483647
|
|
16
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export * from "./ITexture2D.ts";
|
|
2
|
+
export * from "./TextureUsage.ts";
|
|
3
|
+
export * from "./TextureViewDescriptor.ts";
|
|
4
|
+
export * from "./TextureViewDimension.ts";
|
|
5
|
+
export * from "./TextureFormat.ts";
|
|
6
|
+
export * from "./ITextureView.ts";
|
|
7
|
+
export * from "./ITextureFactory.ts";
|
|
8
|
+
export * from "./TextureDescriptor.ts";
|
|
9
|
+
export * from "./TextureUtilities.ts";
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { IContent } from "../content/IContent.ts";
|
|
2
|
+
import {ShaderStage} from "./ShaderStage.ts";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The shader module.
|
|
6
|
+
This is the main interface for shaders.
|
|
7
|
+
It represents a compiled shader that can be used to create shader pipelines.
|
|
8
|
+
*/
|
|
9
|
+
export interface IShaderModule extends IContent {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The stages of the shader.
|
|
13
|
+
* A shader module can contain multiple shader stages, such as vertex shader and fragment shader.
|
|
14
|
+
*/
|
|
15
|
+
readonly stages: ShaderStage[];
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The native handle of the shader module.
|
|
19
|
+
* In the case of OpenGL (ES), it is the shader program ID.
|
|
20
|
+
*In the case of WebGPU, it is the shader module.
|
|
21
|
+
*/
|
|
22
|
+
readonly nativeHandle?: any;
|
|
23
|
+
}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { IShaderModule } from "./IShaderModule.ts";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The loader for shader modules.
|
|
5
|
+
*/
|
|
6
|
+
export interface IShaderModuleLoader {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Loads a shader module.
|
|
10
|
+
* @param shaderModuleId - The shader module id.
|
|
11
|
+
* @returns The shader module.
|
|
12
|
+
*/
|
|
13
|
+
load(shaderModuleId: string): IShaderModule;
|
|
14
|
+
|
|
15
|
+
}
|