ris-framework 0.1.0-dev.7 → 0.1.0-dev.9
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,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The power preference when it comes to selecting GPU device.
|
|
3
|
+
* @public
|
|
4
|
+
*/
|
|
5
|
+
export enum PowerPreferenceType {
|
|
6
|
+
|
|
7
|
+
/** Browser selects the power preference. */
|
|
8
|
+
DEFAULT = "default",
|
|
9
|
+
|
|
10
|
+
/** The low powered device is preferred. Typically, this would be i-GPU. */
|
|
11
|
+
LOW_POWER = "low-power",
|
|
12
|
+
|
|
13
|
+
/** The high-powered device is preferred. Typically, this would be d-GPU. */
|
|
14
|
+
HIGH_PERFORMANCE = "high-performance",
|
|
15
|
+
}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The renderer type.
|
|
3
|
+
*/
|
|
4
|
+
export enum RenderingBackend {
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* If default is set, the renderer will be chosen automatically.
|
|
8
|
+
*/
|
|
9
|
+
DEFAULT = 0,
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The WebGPU rendering backend.
|
|
13
|
+
*/
|
|
14
|
+
WEB_GPU = 1,
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The WebGL rendering backend.
|
|
18
|
+
*/
|
|
19
|
+
WEB_GL = 2,
|
|
20
|
+
}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { IDisposable } from "../../core/IDisposable.ts";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* The blend state.
|
|
5
|
+
* It is created from a blend state descriptor and contains the
|
|
6
|
+
* actual blend state that can be applied to the graphics pipeline.
|
|
7
|
+
*/
|
|
8
|
+
export interface IBlendState extends IDisposable {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The native pointer to the blend state.
|
|
12
|
+
* This is used internally by the graphics API to apply the blend state to the pipeline.
|
|
13
|
+
* In some cases it can be null pointer, if API does not have a native representation
|
|
14
|
+
* of the blend state, but it is still usable and can be applied to the pipeline.
|
|
15
|
+
*/
|
|
16
|
+
readonly nativePtr: any;
|
|
17
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export * from "./IBlendState.ts";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The buffer usage.
|
|
3
|
+
*/
|
|
4
|
+
export enum BufferUsage {
|
|
5
|
+
/**
|
|
6
|
+
* No buffer usage is defined.
|
|
7
|
+
*/
|
|
8
|
+
NONE = 0,
|
|
9
|
+
/**
|
|
10
|
+
* Allow a buffer to be the vertex buffer in a draw operation.
|
|
11
|
+
*
|
|
12
|
+
* The corresponding binding in WGPU is WGPU_VERTEX.
|
|
13
|
+
* The corresponding usage in OpenGL/WebGL is GL_ELEMENT_ARRAY_BUFFER.
|
|
14
|
+
*/
|
|
15
|
+
VERTEX = 1,
|
|
16
|
+
/**
|
|
17
|
+
* The buffer is used as an index buffer in a draw operation.
|
|
18
|
+
*/
|
|
19
|
+
INDEX = 2,
|
|
20
|
+
/**
|
|
21
|
+
* Allow a buffer to be the uniform buffer in a draw operation.
|
|
22
|
+
*
|
|
23
|
+
* The corresponding binding in WGPU is WGPU_UNIFORM.
|
|
24
|
+
*/
|
|
25
|
+
UNIFORM = 4,
|
|
26
|
+
/**
|
|
27
|
+
* Allow a buffer to be the storage buffer in a draw operation.
|
|
28
|
+
*
|
|
29
|
+
* In WGPU this will resolve to WGPU_STORAGE.
|
|
30
|
+
*
|
|
31
|
+
* In OpenGL this will resolve to GL_SHADER_STORAGE_BUFFER.
|
|
32
|
+
*
|
|
33
|
+
* In D3D11 this will resolve to usage D3D11_USAGE_DEFAULT.
|
|
34
|
+
*
|
|
35
|
+
* In D3D11 this will resolve to bind flags D3D11_BIND_SHADER_RESOURCE | D3D11_BIND_UNORDERED_ACCESS.
|
|
36
|
+
*
|
|
37
|
+
* In D3D11 this will resolve to misc flags D3D11_RESOURCE_MISC_BUFFER_STRUCTURED.
|
|
38
|
+
*/
|
|
39
|
+
STORAGE = 8,
|
|
40
|
+
/**
|
|
41
|
+
* Buffer is allowed to be read from.
|
|
42
|
+
*
|
|
43
|
+
* A common use case is copying data from the buffer to the CPU memory.
|
|
44
|
+
*
|
|
45
|
+
* The corresponding binding in WGPU is WGPU_MAP_READ.
|
|
46
|
+
*/
|
|
47
|
+
MAP_READ = 16,
|
|
48
|
+
/**
|
|
49
|
+
* Buffer is used as a destination for copying.
|
|
50
|
+
*
|
|
51
|
+
* A common use case is writing data to a buffer.
|
|
52
|
+
*
|
|
53
|
+
* The corresponding binding in WGPU is WGPU_COPY_DST.
|
|
54
|
+
*/
|
|
55
|
+
COPY_DST = 32
|
|
56
|
+
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import {BufferUsage} from "./BufferUsage.ts";
|
|
2
|
+
import type { IDisposable } from "../../core/IDisposable.ts";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The common interface for all buffers.
|
|
6
|
+
*/
|
|
7
|
+
export interface IBuffer extends IDisposable {
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The label of the buffer.
|
|
11
|
+
*/
|
|
12
|
+
readonly label?: string;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Size of the buffer in bytes.
|
|
16
|
+
*/
|
|
17
|
+
readonly byteSize: number;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The usage of the buffer.
|
|
21
|
+
*/
|
|
22
|
+
readonly usage: BufferUsage;
|
|
23
|
+
|
|
24
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { IIndexBuffer } from "./IIndexBuffer.ts";
|
|
2
|
+
import {BufferUsage} from "./BufferUsage.ts";
|
|
3
|
+
import type { IUniformBuffer } from "./IUniformBuffer.ts";
|
|
4
|
+
import type { IVertexBuffer } from "./IVertexBuffer.ts";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The buffer factory interface.
|
|
8
|
+
*/
|
|
9
|
+
export interface IBufferFactory {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* Creates a new index buffer and prefills it with data.
|
|
13
|
+
* @param data - The data to prefill the buffer with.
|
|
14
|
+
* @param label - The buffer label.
|
|
15
|
+
* @returns The index buffer.
|
|
16
|
+
*/
|
|
17
|
+
createIndexBuffer(data: ArrayLike<number>, label?: string): IIndexBuffer;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Creates a new vertex buffer and prefills it with data.
|
|
21
|
+
* @param data - The data to prefill the buffer with.
|
|
22
|
+
* @param vertexStride - The stride of single vertex in bytes.
|
|
23
|
+
* @param usage - The buffer usage.
|
|
24
|
+
* @param label - The buffer label.
|
|
25
|
+
* @returns The vertex buffer.
|
|
26
|
+
*/
|
|
27
|
+
createVertexBuffer(data: ArrayLike<number>, vertexStride: number, usage?: BufferUsage, label?: string): IVertexBuffer;
|
|
28
|
+
|
|
29
|
+
/**
|
|
30
|
+
* Creates a new uniform buffer.
|
|
31
|
+
* @param data - The data to fill buffer with.
|
|
32
|
+
* @param usage - The buffer usage.
|
|
33
|
+
* @param label - The optional label of the buffer.
|
|
34
|
+
* @returns The uniform buffer.
|
|
35
|
+
*/
|
|
36
|
+
createUniformBuffer(data: ArrayLike<number>, usage?: BufferUsage, label?: string): IUniformBuffer;
|
|
37
|
+
|
|
38
|
+
}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type { IBuffer } from "./IBuffer.ts";
|
|
2
|
+
import {IndexBufferType} from "./IndexBufferType.ts";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The index buffer.
|
|
6
|
+
*/
|
|
7
|
+
export interface IIndexBuffer extends IBuffer {
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The type of buffer.
|
|
11
|
+
*/
|
|
12
|
+
readonly type: IndexBufferType;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Size of the element.
|
|
16
|
+
* Usually 2 or 4 bytes depending on the Type property.
|
|
17
|
+
*/
|
|
18
|
+
readonly elementByteSize: number;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The count of indices.
|
|
22
|
+
*/
|
|
23
|
+
readonly indicesCount: number;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Initialize the index buffer.
|
|
27
|
+
* @param data - The data to initialize with.
|
|
28
|
+
*/
|
|
29
|
+
initialize(data: number[]): void;
|
|
30
|
+
|
|
31
|
+
/**
|
|
32
|
+
* Initialize the index buffer.
|
|
33
|
+
* @param data - The data to initialize with.
|
|
34
|
+
*/
|
|
35
|
+
initialize(data: number[]): void;
|
|
36
|
+
|
|
37
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { IBuffer } from "./IBuffer.ts";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Interface for uniform buffer.
|
|
5
|
+
*/
|
|
6
|
+
export interface IUniformBuffer extends IBuffer {
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* Initialize the constant buffer.
|
|
10
|
+
*/
|
|
11
|
+
initialize(): void;
|
|
12
|
+
|
|
13
|
+
/**
|
|
14
|
+
* Update the constant buffer.
|
|
15
|
+
* @param data - The data array.
|
|
16
|
+
* @param offset - Defines where to start buffer write. Must be in bytes.
|
|
17
|
+
* @param length - Defines how many bytes to write. By default, -1 that means data length is used.
|
|
18
|
+
*/
|
|
19
|
+
update(data: ArrayLike<number>, offset?: number, length?: number): void;
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { IBuffer } from "./IBuffer.ts";
|
|
2
|
+
|
|
3
|
+
/**
|
|
4
|
+
* Create a new vertex buffer.
|
|
5
|
+
*/
|
|
6
|
+
export interface IVertexBuffer extends IBuffer {
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The number of vertices.
|
|
11
|
+
*/
|
|
12
|
+
readonly vertexCount: number;
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* The byte stride of the buffer.
|
|
16
|
+
*/
|
|
17
|
+
readonly byteStride: number;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* Initialize the vertex buffer.
|
|
21
|
+
*/
|
|
22
|
+
initialize(): void;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* Update the vertex buffer.
|
|
26
|
+
* @param data - The data to be written to buffer.
|
|
27
|
+
* @param offset - The offset to write data. By default, 0. This is in bytes of the buffer.
|
|
28
|
+
* @param length - The length to copy. If 0 or less, entire array is copied.
|
|
29
|
+
*/
|
|
30
|
+
update(data: number[], offset?: number, length?: number): void;
|
|
31
|
+
|
|
32
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {VertexStepMode} from "./VertexStepMode.ts";
|
|
2
|
+
import {VertexAttribute} from "./VertexAttribute.ts";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The vertex buffer layout.
|
|
6
|
+
*/
|
|
7
|
+
export interface IVertexBufferLayout {
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The stride, in bytes, between elements of the vertex buffer.
|
|
11
|
+
* This is also known as the "vertex size". It is the size of one vertex in the vertex buffer.
|
|
12
|
+
*/
|
|
13
|
+
arrayStride: number;
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The step mode of the vertex buffer.
|
|
17
|
+
* It defines how the vertex buffer is stepped through when rendering.
|
|
18
|
+
*/
|
|
19
|
+
stepMode: VertexStepMode;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The attributes of the vertex buffer.
|
|
23
|
+
* It defines the layout of the vertex buffer, and how the vertex shader will read the vertex data.
|
|
24
|
+
*/
|
|
25
|
+
attributes: VertexAttribute[];
|
|
26
|
+
|
|
27
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
|
|
2
|
+
import {VertexFormat} from "../../geometry/VertexFormat.ts";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* The vertex attribute class.
|
|
6
|
+
* A vertex attribute defines a single attribute of a vertex, such as position, normal, color, etc.
|
|
7
|
+
* It is used to define the layout of the vertex buffer, and how the vertex shader will read the vertex data.
|
|
8
|
+
*/
|
|
9
|
+
export class VertexAttribute {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The format of the vertex attribute.
|
|
13
|
+
* It defines the type and size of the attribute, such as float3 for position, float2 for UV, etc.
|
|
14
|
+
*/
|
|
15
|
+
public format = VertexFormat.FLOAT_32;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The offset, in bytes, of the vertex attribute from the start of the vertex.
|
|
19
|
+
*/
|
|
20
|
+
public offset = 0;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The shader location of the vertex attribute.
|
|
24
|
+
*/
|
|
25
|
+
public shaderLocation = 0;
|
|
26
|
+
}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
|
|
2
|
+
export * from "./BufferUsage.ts";
|
|
3
|
+
export * from "./IBuffer.ts";
|
|
4
|
+
export * from "./IIndexBuffer.ts";
|
|
5
|
+
export * from "./IVertexBuffer.ts";
|
|
6
|
+
export * from "./IVertexBufferLayout.ts";
|
|
7
|
+
export * from "./IBufferFactory.ts";
|
|
8
|
+
export * from "./IndexBufferType.ts";
|
|
9
|
+
export * from "./IUniformBuffer.ts";
|
|
10
|
+
export * from "./VertexAttribute.ts";
|
|
11
|
+
export * from "./VertexStepMode.ts";
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The culling mode.
|
|
3
|
+
*/
|
|
4
|
+
export enum CullMode {
|
|
5
|
+
/**
|
|
6
|
+
* The culling is disabled. Both front and back faces will be rendered.
|
|
7
|
+
*/
|
|
8
|
+
NONE = 0,
|
|
9
|
+
/**
|
|
10
|
+
* The back faces will be culled. Only front faces will be rendered.
|
|
11
|
+
*/
|
|
12
|
+
BACK = 1,
|
|
13
|
+
/**
|
|
14
|
+
* The front faces will be culled. Only back faces will be rendered.
|
|
15
|
+
*/
|
|
16
|
+
FRONT = 2
|
|
17
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import {FrontFace} from "./FrontFace.ts";
|
|
2
|
+
import {CullMode} from "./CullMode.ts";
|
|
3
|
+
import {PrimitiveTopology} from "./PrimitiveTopology.ts";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The primitive state.
|
|
7
|
+
* Describes the primitive to be rendered and how it should be rendered.
|
|
8
|
+
*/
|
|
9
|
+
export interface IPrimitiveState {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The topology of the primitive.
|
|
13
|
+
*/
|
|
14
|
+
readonly topology: PrimitiveTopology;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The culling mode.
|
|
18
|
+
*/
|
|
19
|
+
readonly cullFace: CullMode;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The front face.
|
|
23
|
+
*/
|
|
24
|
+
readonly frontFace: FrontFace;
|
|
25
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import {PrimitiveTopology} from "./PrimitiveTopology.ts";
|
|
2
|
+
import {CullMode} from "./CullMode.ts";
|
|
3
|
+
import {FrontFace} from "./FrontFace.ts";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* Describes the state of a primitive.
|
|
7
|
+
*/
|
|
8
|
+
export class PrimitiveStateDescriptor {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The topology of the primitive.
|
|
12
|
+
* By default, it is set to TRIANGLE_LIST.
|
|
13
|
+
*/
|
|
14
|
+
public topology: PrimitiveTopology = PrimitiveTopology.TRIANGLE_LIST;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The culling mode.
|
|
18
|
+
* By default, it is set to BACK.
|
|
19
|
+
*/
|
|
20
|
+
public cullFace: CullMode = CullMode.BACK;
|
|
21
|
+
|
|
22
|
+
/**
|
|
23
|
+
* The front face.
|
|
24
|
+
* By default, it is set to CCW(counter clock-wise).
|
|
25
|
+
*/
|
|
26
|
+
public frontFace: FrontFace = FrontFace.CCW;
|
|
27
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The primitive topology.
|
|
3
|
+
*/
|
|
4
|
+
export enum PrimitiveTopology {
|
|
5
|
+
/**
|
|
6
|
+
* Each consecutive pair of two vertices defines a line primitive.
|
|
7
|
+
*/
|
|
8
|
+
LINE_LIST = 0,
|
|
9
|
+
/**
|
|
10
|
+
* Each vertex after the first defines a line primitive between it and the previous vertex.
|
|
11
|
+
*/
|
|
12
|
+
LINE_STRIP = 1,
|
|
13
|
+
/**
|
|
14
|
+
* Each vertex defines a point primitive.
|
|
15
|
+
*/
|
|
16
|
+
POINT_LIST = 2,
|
|
17
|
+
/**
|
|
18
|
+
* Each consecutive triplet of three vertices defines a triangle primitive.
|
|
19
|
+
*/
|
|
20
|
+
TRIANGLE_LIST = 3,
|
|
21
|
+
/**
|
|
22
|
+
* Each vertex after the first two defines a triangle primitive between it and the previous two vertices.
|
|
23
|
+
*/
|
|
24
|
+
TRIANGLE_STRIP = 4
|
|
25
|
+
}
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
import type { ITexture2D } from "../texture/ITexture2D.ts";
|
|
2
|
+
import type { ISampler } from "../sampler/ISampler.ts";
|
|
3
|
+
import type { IUniformBuffer } from "../buffers/IUniformBuffer.ts";
|
|
4
|
+
import type { IRenderPipeline } from "./IRenderPipeline.ts";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The pipeline for inspecting texture mip levels.
|
|
8
|
+
*/
|
|
9
|
+
export interface IInspectTextureMipsRenderPipeline extends IRenderPipeline {
|
|
10
|
+
|
|
11
|
+
/**
|
|
12
|
+
* The diffuse texture.
|
|
13
|
+
*/
|
|
14
|
+
spriteTexture: ITexture2D;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The texture sampler.
|
|
18
|
+
*/
|
|
19
|
+
textureSampler?: ISampler;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The projection view uniform buffer.
|
|
23
|
+
* Contains a single matrix representing the projection view matrix.
|
|
24
|
+
*/
|
|
25
|
+
projectionViewBuffer: IUniformBuffer;
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* The world matrix uniform buffer.
|
|
29
|
+
* Contains a single matrix representing the world matrix.
|
|
30
|
+
*/
|
|
31
|
+
modelBuffer: IUniformBuffer;
|
|
32
|
+
|
|
33
|
+
/**
|
|
34
|
+
* The buffer of texture constants.
|
|
35
|
+
* For now, it is just a single float value representing the mip level.
|
|
36
|
+
*/
|
|
37
|
+
textureConstantsBuffer: IUniformBuffer;
|
|
38
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { IRenderPipeline } from "./IRenderPipeline.ts";
|
|
2
|
+
import type { ITexture2D } from "../texture/ITexture2D.ts";
|
|
3
|
+
|
|
4
|
+
/**
|
|
5
|
+
* Pipeline that is used in renderer as
|
|
6
|
+
* a pass that renders from the main frame buffer to the screen.
|
|
7
|
+
*/
|
|
8
|
+
export interface IMainRenderTargetRenderPipeline extends IRenderPipeline {
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* The texture that is used as a main frame buffer.
|
|
12
|
+
* The pipeline will render this texture to the screen.
|
|
13
|
+
*/
|
|
14
|
+
readonly mainRenderTarget: ITexture2D;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Render to the screen.
|
|
18
|
+
*/
|
|
19
|
+
render(): void;
|
|
20
|
+
|
|
21
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { IBlendState } from "../blending/IBlendState.ts";
|
|
2
|
+
import type { IDisposable } from "../../core/IDisposable.ts";
|
|
3
|
+
import type { IPrimitiveState } from "../primitive/IPrimitiveState.ts";
|
|
4
|
+
import type { IVertexBufferLayout } from "../buffers/IVertexBufferLayout.ts";
|
|
5
|
+
import type { IIndexBuffer } from "../buffers/IIndexBuffer.ts";
|
|
6
|
+
import type { IVertexBuffer } from "../buffers/IVertexBuffer.ts";
|
|
7
|
+
|
|
8
|
+
/**
|
|
9
|
+
* The render pipeline interface.
|
|
10
|
+
* Render pipelines are responsible for defining the rendering process, including the shaders,
|
|
11
|
+
* the vertex buffer layout, the render targets, and the draw calls.
|
|
12
|
+
*/
|
|
13
|
+
export interface IRenderPipeline extends IDisposable {
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The blend state of the render pipeline.
|
|
17
|
+
*/
|
|
18
|
+
readonly blendState: IBlendState;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The primitive state of the render pipeline.
|
|
22
|
+
*/
|
|
23
|
+
readonly primitiveState: IPrimitiveState;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The vertex buffer layout of the render pipeline.
|
|
27
|
+
*/
|
|
28
|
+
readonly vertexBufferLayouts: IVertexBufferLayout[];
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* Initializes the render pipeline.
|
|
32
|
+
* This method is called by the renderer when the pipeline is added to the renderer.
|
|
33
|
+
*/
|
|
34
|
+
initialize(): void;
|
|
35
|
+
|
|
36
|
+
/**
|
|
37
|
+
* Draw the pipeline.
|
|
38
|
+
* @param vertexBuffer - The vertex buffer.
|
|
39
|
+
* @param indexBuffer - The index buffer.
|
|
40
|
+
* @param indicesCount - The number of indices to draw. If -1 draws all indices.
|
|
41
|
+
* @param indicesOffset - Indices offset. By default, 0 for no offset.
|
|
42
|
+
*/
|
|
43
|
+
render(vertexBuffer: IVertexBuffer, indexBuffer: IIndexBuffer,
|
|
44
|
+
indicesCount?: number, indicesOffset?: number): void;
|
|
45
|
+
|
|
46
|
+
|
|
47
|
+
}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import type { ITexture2D } from "../texture/ITexture2D.ts";
|
|
2
|
+
import type { IMainRenderTargetRenderPipeline } from "./IMainRenderTargetRenderPipeline.ts";
|
|
3
|
+
import type { IUniformBuffer } from "../buffers/IUniformBuffer.ts";
|
|
4
|
+
import type { ISpriteRenderPipeline } from "./ISpriteRenderPipeline.ts";
|
|
5
|
+
import type { IInspectTextureMipsRenderPipeline } from "./IInspectTextureMipsRenderPipeline.ts";
|
|
6
|
+
import type { IUnlitRenderPipeline } from "./IUnlitRenderPipeline.ts";
|
|
7
|
+
import type { IPrimitiveState } from "../primitive/IPrimitiveState.ts";
|
|
8
|
+
|
|
9
|
+
/**
|
|
10
|
+
* The pipeline factory.
|
|
11
|
+
*/
|
|
12
|
+
export interface IRenderPipelineFactory {
|
|
13
|
+
|
|
14
|
+
/**
|
|
15
|
+
* Creates the main render target pipeline.
|
|
16
|
+
* @param mainFrameBuffer - The texture acting as a main frame buffer.
|
|
17
|
+
* @returns The main render target render pipeline.
|
|
18
|
+
*/
|
|
19
|
+
createMainFrameBufferPipeline(mainFrameBuffer: ITexture2D): IMainRenderTargetRenderPipeline;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* Creates the sprite render pipeline.
|
|
23
|
+
* @param projectionViewBuffer - The projection view buffer.
|
|
24
|
+
* @returns The sprite render pipeline.
|
|
25
|
+
*/
|
|
26
|
+
createSpriteRenderPipeline(projectionViewBuffer: IUniformBuffer): ISpriteRenderPipeline;
|
|
27
|
+
|
|
28
|
+
/**
|
|
29
|
+
* Creates the inspect texture mip level pipeline.
|
|
30
|
+
* @param projectionViewBuffer - The projection view buffer.
|
|
31
|
+
* @param modelBuffer - The world buffer.
|
|
32
|
+
* @param textureConstantsBuffer - The texture constants buffer.
|
|
33
|
+
* @returns The inspect texture mips render pipeline.
|
|
34
|
+
*/
|
|
35
|
+
createInspectTextureMipsRenderPipeline(projectionViewBuffer: IUniformBuffer, modelBuffer: IUniformBuffer, textureConstantsBuffer: IUniformBuffer): IInspectTextureMipsRenderPipeline;
|
|
36
|
+
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* Creates the unlit render pipeline.
|
|
40
|
+
* @param projectionViewBuffer - The projection view buffer.
|
|
41
|
+
* @param modelBuffer - The world buffer.
|
|
42
|
+
* @param materialBuffer - The material buffer.
|
|
43
|
+
* @param primitiveState - The primitive state.
|
|
44
|
+
* @returns The unlit render pipeline.
|
|
45
|
+
*/
|
|
46
|
+
createUnlitRenderPipeline(projectionViewBuffer: IUniformBuffer,
|
|
47
|
+
modelBuffer: IUniformBuffer,
|
|
48
|
+
materialBuffer: IUniformBuffer,
|
|
49
|
+
primitiveState?: IPrimitiveState
|
|
50
|
+
): IUnlitRenderPipeline;
|
|
51
|
+
|
|
52
|
+
}
|