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
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { SamplerCompareFunction } from '../../
|
|
2
|
-
import { MipMapSamplerFilter, SamplerAddressMode, SamplerFilter } from "
|
|
1
|
+
import { SamplerCompareFunction } from '../../api/rendering/sampler/sampler-enums';
|
|
2
|
+
import { MipMapSamplerFilter, SamplerAddressMode, SamplerFilter } from "../../api/index.js";
|
|
3
3
|
/**
|
|
4
4
|
* The utility class for working with WebGLSampler object.
|
|
5
5
|
*/
|
|
@@ -16,7 +16,7 @@ export declare class WebGlSamplerUtilities {
|
|
|
16
16
|
* @param compareFunction The compare function of the sampler. This is used for shadow samplers.
|
|
17
17
|
* @param _anisotropy The anisotropy level of the sampler. This is used for anisotropic filtering. The default value is 1, which means no anisotropic filtering.
|
|
18
18
|
* @param label The label of the sampler. This is used for debugging purposes and can be viewed in graphics debuggers like SpectorJS.
|
|
19
|
-
* @returns
|
|
19
|
+
* @returns The created WebGLSampler.
|
|
20
20
|
*/
|
|
21
21
|
create(gl: WebGL2RenderingContext, minFilter?: SamplerFilter, magFilter?: SamplerFilter, mipMapFilter?: MipMapSamplerFilter, addressModeU?: SamplerAddressMode, addressModeV?: SamplerAddressMode, addressModeW?: SamplerAddressMode, compareFunction?: SamplerCompareFunction, _anisotropy?: number, label?: string): WebGLSampler;
|
|
22
22
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlSamplerUtilities.d.ts","sourceRoot":"","sources":["../../../src/webgl/utilities/WebGlSamplerUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"WebGlSamplerUtilities.d.ts","sourceRoot":"","sources":["../../../src/webgl/utilities/WebGlSamplerUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,2CAA2C,CAAC;AAGnF,OAAO,EAAC,mBAAmB,EAAE,kBAAkB,EAAE,aAAa,EAAC,MAAM,oBAAoB,CAAC;AAE1F;;GAEG;AACH,qBAAa,qBAAqB;IAE9B;;;;;;;;;;;;;OAaG;IACI,MAAM,CAAC,EAAE,EAAE,sBAAsB,EAC1B,SAAS,GAAE,aAAoC,EAC/C,SAAS,GAAE,aAAoC,EAC/C,YAAY,GAAE,mBAA8C,EAC5D,YAAY,GAAE,kBAAqD,EACnE,YAAY,GAAE,kBAAqD,EACnE,YAAY,GAAE,kBAAqD,EACnE,eAAe,GAAE,sBAAqD,EACtE,WAAW,GAAE,MAAU,EACjC,KAAK,GAAE,MAAW,GAAI,YAAY;CA+CzC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { TextureFormat } from "
|
|
1
|
+
import { TextureFormat } from "../../api/index.js";
|
|
2
2
|
import { vec2 } from "gl-matrix";
|
|
3
3
|
/**
|
|
4
4
|
* The utilities for working with WebGL textures.
|
|
@@ -10,7 +10,7 @@ export declare class WebGlTextureUtilities {
|
|
|
10
10
|
* @param width The width of the texture.
|
|
11
11
|
* @param height The height of the texture.
|
|
12
12
|
* @param data The texture data. If null, an uninitialized texture will be created.
|
|
13
|
-
* @param textureFormat The format of the texture. If not specified,
|
|
13
|
+
* @param textureFormat The format of the texture. If not specified, RGBA_8_UNORM will be used.
|
|
14
14
|
* @param useMipMaps True to generate mipmaps for the texture, false otherwise. By default, it is false.
|
|
15
15
|
* @param anisotropy The level of anisotropic filtering to use when sampling the texture. A value of 1 means no anisotropic filtering, while higher values (e.g., 4, 8, 16) indicate increasing levels of anisotropic filtering. By default, it is 1 (no anisotropic filtering).
|
|
16
16
|
* @param label The label for the texture. This can be used for debugging purposes to identify the texture in graphics debuggers.
|
|
@@ -23,11 +23,11 @@ export declare class WebGlTextureUtilities {
|
|
|
23
23
|
* @param dimension The dimensions of the texture.
|
|
24
24
|
* @param blockSize The block size of a compressed format.
|
|
25
25
|
* @param data The texture data. If null, an uninitialized texture will be created.
|
|
26
|
-
* @param textureFormat The format of the texture. If not specified, BGRA_8_UNORM will be used.
|
|
27
|
-
* @param anisotropy The level of anisotropic filtering to use when sampling the texture. A value of 1 means no anisotropic filtering, while higher values (e.g., 4, 8, 16) indicate increasing levels of anisotropic filtering. By default, it is 1 (no anisotropic filtering).
|
|
28
26
|
* @param label The label for the texture. This can be used for debugging purposes to identify the texture in graphics debuggers.
|
|
27
|
+
* @param textureFormat The format of the texture. If not specified, RGBA_8_UNORM will be used.
|
|
28
|
+
* @param anisotropy The level of anisotropic filtering to use when sampling the texture. A value of 1 means no anisotropic filtering, while higher values (e.g., 4, 8, 16) indicate increasing levels of anisotropic filtering. By default, it is 1 (no anisotropic filtering).
|
|
29
29
|
* @returns The created WebGL texture.
|
|
30
30
|
*/
|
|
31
|
-
createCompressedTexture2D(gl: WebGL2RenderingContext, dimension: vec2,
|
|
31
|
+
createCompressedTexture2D(gl: WebGL2RenderingContext, dimension: vec2, blockSize: vec2, data?: Uint8Array[] | null, label?: string | null, textureFormat?: TextureFormat, anisotropy?: number): WebGLTexture;
|
|
32
32
|
}
|
|
33
33
|
//# sourceMappingURL=WebGlTextureUtilities.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"WebGlTextureUtilities.d.ts","sourceRoot":"","sources":["../../../src/webgl/utilities/WebGlTextureUtilities.ts"],"names":[],"mappings":"AACA,OAAO,
|
|
1
|
+
{"version":3,"file":"WebGlTextureUtilities.d.ts","sourceRoot":"","sources":["../../../src/webgl/utilities/WebGlTextureUtilities.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,aAAa,EAAC,MAAM,oBAAoB,CAAC;AACjE,OAAO,EAAC,IAAI,EAAC,MAAM,WAAW,CAAC;AAE/B;;GAEG;AACH,qBAAa,qBAAqB;IAE9B;;;;;;;;;;;OAWG;IACI,eAAe,CAClB,EAAE,EAAE,sBAAsB,EAC1B,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAC7B,IAAI,GAAE,UAAU,EAAE,GAAG,gBAAgB,EAAE,GAAG,IAAW,EACrD,aAAa,gBAA6B,EAC1C,UAAU,UAAQ,EAClB,UAAU,SAAM,EAChB,KAAK,GAAE,MAAM,GAAG,IAAW,GAC5B,YAAY;IA2Df;;;;;;;;;;OAUG;IACI,yBAAyB,CAC5B,EAAE,EAAE,sBAAsB,EAC1B,SAAS,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAChC,IAAI,GAAE,UAAU,EAAE,GAAG,IAAW,EAChC,KAAK,GAAE,MAAM,GAAG,IAAW,EAC3B,aAAa,gBAA6B,EAC1C,UAAU,SAAM,GACjB,YAAY;CAgElB"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgl-culling-utilities.d.ts","sourceRoot":"","sources":["../../../src/webgl/utilities/webgl-culling-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"webgl-culling-utilities.d.ts","sourceRoot":"","sources":["../../../src/webgl/utilities/webgl-culling-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AAGvD;;GAEG;AACH,qBAAa,qBAAqB;IAE9B;;;;OAIG;IACI,UAAU,CAAC,EAAE,EAAE,sBAAsB,EAAE,OAAO,EAAE,OAAO;CASjE"}
|
|
@@ -10,7 +10,7 @@ export declare class WebGLFilterAnisotropicUtilities {
|
|
|
10
10
|
/**
|
|
11
11
|
* Gets the max anisotropy.
|
|
12
12
|
* @param gl The WebGL2 rendering context.
|
|
13
|
-
* @returns The maximum supported level of anisotropic filtering.
|
|
13
|
+
* @returns The maximum supported level of anisotropic filtering. `0` if not supported.
|
|
14
14
|
*/
|
|
15
15
|
getMaxAnisotropy(gl: WebGL2RenderingContext): number;
|
|
16
16
|
/**
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { TextureFormat } from "
|
|
1
|
+
import type { TextureFormat } from "../../api/index.js";
|
|
2
2
|
/**
|
|
3
3
|
* The utility class for WebGL render buffer operations. It provides methods for creating render buffers with specified formats, dimensions, and labels. Render buffers are used in WebGL for off-screen rendering, particularly for depth and stencil attachments in framebuffers. This class abstracts the details of creating and configuring render buffers, making it easier to manage them in a WebGL application.
|
|
4
4
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"webgl-renderbuffer-utilities.d.ts","sourceRoot":"","sources":["../../../src/webgl/utilities/webgl-renderbuffer-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,
|
|
1
|
+
{"version":3,"file":"webgl-renderbuffer-utilities.d.ts","sourceRoot":"","sources":["../../../src/webgl/utilities/webgl-renderbuffer-utilities.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAIxD;;GAEG;AACH,qBAAa,0BAA0B;IACnC;;;;;;;;OAQG;IACI,MAAM,CAAC,EAAE,EAAE,sBAAsB,EAAE,cAAc,EAAE,aAAa,EAAE,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI,GAAG,SAAS,GAAG,iBAAiB;CAiB/J"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "ris-framework",
|
|
3
|
-
"version": "0.1.0
|
|
3
|
+
"version": "0.1.0",
|
|
4
|
+
"license": "Apache-2.0",
|
|
4
5
|
"repository": {
|
|
5
6
|
"type": "git",
|
|
6
7
|
"url": "https://github.com/luka712/ris-framework-ts"
|
|
@@ -22,18 +23,17 @@
|
|
|
22
23
|
"build:lib": "rm -rf dist && vite build --config vite.lib.config.ts && tsc -p tsconfig.lib.json && node scripts/rewrite-declaration-extensions.mjs",
|
|
23
24
|
"build:app": "vite build",
|
|
24
25
|
"preview": "vite preview",
|
|
25
|
-
"test": "tsc --noEmit"
|
|
26
|
+
"test": "tsc --noEmit && tsc -p tsconfig.test.json --noEmit && vitest run"
|
|
26
27
|
},
|
|
27
28
|
"devDependencies": {
|
|
28
|
-
"ris-ktx2": "^0.1.0-dev.2",
|
|
29
29
|
"typescript": "~5.9.3",
|
|
30
|
-
"vite": "^7.2.4"
|
|
30
|
+
"vite": "^7.2.4",
|
|
31
|
+
"vitest": "^5.0.3"
|
|
31
32
|
},
|
|
32
33
|
"dependencies": {
|
|
33
34
|
"gl-matrix": "^3.4.4",
|
|
34
35
|
"reflect-metadata": "^0.2.2",
|
|
35
|
-
"ris-
|
|
36
|
-
"ris-ktx2-api": "^0.1.0-dev.2.4",
|
|
36
|
+
"ris-ktx2": "^0.1.0",
|
|
37
37
|
"tsyringe": "^4.10.0"
|
|
38
38
|
},
|
|
39
39
|
"files": [
|
|
@@ -42,6 +42,7 @@
|
|
|
42
42
|
"shaders",
|
|
43
43
|
"LICENSES",
|
|
44
44
|
"LICENSE",
|
|
45
|
+
"NOTICE",
|
|
45
46
|
"README.md",
|
|
46
47
|
"CHANGELOG.md",
|
|
47
48
|
"THIRD_PARTY_NOTICES.md"
|
|
@@ -1,32 +1,50 @@
|
|
|
1
1
|
import {container, type DependencyContainer} from "tsyringe";
|
|
2
|
-
import {WindowManager} from "./window/
|
|
3
|
-
import {
|
|
4
|
-
import {
|
|
5
|
-
import {
|
|
6
|
-
import {
|
|
7
|
-
import {
|
|
8
|
-
import {
|
|
9
|
-
import {WebGlBuffersFactory} from "../webgl/buffers/WebGlBuffersFactory.ts";
|
|
2
|
+
import {WindowManager} from "./api/window/WindowManager.ts";
|
|
3
|
+
import {FrameworkConfiguration} from "./api/FrameworkConfiguration.ts";
|
|
4
|
+
import {type IRendererConfiguration, RenderConfigurationSymbol} from "./api/rendering/renderer-interface.ts";
|
|
5
|
+
import {GeometryBuilder} from "./api/geometry/GeometryBuilder.ts";
|
|
6
|
+
import {ContentManager} from "./api/content/ContentManager.ts";
|
|
7
|
+
import {WebGlRenderer} from "./webgl/WebGlRenderer.ts";
|
|
8
|
+
import {WebGlBuffersFactory} from "./webgl/buffers/WebGlBuffersFactory.ts";
|
|
10
9
|
import {
|
|
11
|
-
|
|
12
|
-
type
|
|
10
|
+
type ICameraFactory,
|
|
11
|
+
type IContentManager,
|
|
12
|
+
type IFramework, IFrameworkConfiguration,
|
|
13
|
+
type IImageLoader,
|
|
14
|
+
type IRenderer,
|
|
15
|
+
type IRenderPipelineFactory,
|
|
16
|
+
type IWindowManager
|
|
17
|
+
} from "./api/index.ts";
|
|
18
|
+
import {
|
|
19
|
+
CameraFactory,
|
|
20
|
+
CpuImageProcessor,
|
|
21
|
+
GameTime,
|
|
22
|
+
type IBufferFactory,
|
|
23
|
+
type IGeometryBuilder,
|
|
24
|
+
type IGraphicsDevice,
|
|
25
|
+
type IImageProcessor,
|
|
26
|
+
type IInputManager,
|
|
13
27
|
ImageLoader,
|
|
14
|
-
type
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
import {
|
|
25
|
-
import
|
|
26
|
-
import {
|
|
27
|
-
import {
|
|
28
|
+
type IMaterialFactory,
|
|
29
|
+
type IMeshFactory,
|
|
30
|
+
type ISpriteBatch,
|
|
31
|
+
type ITextureFactory,
|
|
32
|
+
type ITimeManager,
|
|
33
|
+
MaterialFactory,
|
|
34
|
+
MeshFactory,
|
|
35
|
+
RenderingBackend,
|
|
36
|
+
TimeManager
|
|
37
|
+
} from "./api/index.ts";
|
|
38
|
+
import {WebGlShaderModuleLoader} from "./webgl/shader/WebGlShaderModuleLoader.ts";
|
|
39
|
+
import {TextureSamplerFilteringPreset} from "./core/rendering/enums.ts";
|
|
40
|
+
import {SpriteBatch} from "./api/sprites/SpriteBatch.ts";
|
|
41
|
+
import {WebGlTextureFactory} from "./webgl/texture/WebGlTextureFactory.ts";
|
|
42
|
+
import {WebGlRenderPipelineFactory} from "./webgl/render-pipelines/WebGlRenderPipelineFactory.ts";
|
|
43
|
+
import {InputManager} from "./api/input/InputManager.ts";
|
|
44
|
+
import type {IKtx2Factory} from "ris-ktx2";
|
|
28
45
|
import {Ktx2Factory} from "ris-ktx2";
|
|
29
|
-
import
|
|
46
|
+
import {PowerPreferenceType} from "./api/rendering/PowerPreference.ts";
|
|
47
|
+
import {vec2} from "gl-matrix";
|
|
30
48
|
|
|
31
49
|
export class Framework implements IFramework {
|
|
32
50
|
|
|
@@ -44,19 +62,27 @@ export class Framework implements IFramework {
|
|
|
44
62
|
|
|
45
63
|
/**
|
|
46
64
|
* The constructor for the Framework class.
|
|
47
|
-
* @param options The optional
|
|
65
|
+
* @param options The optional framework configuration. When omitted, a default `FrameworkConfiguration` is used.
|
|
48
66
|
*/
|
|
49
|
-
constructor(options
|
|
50
|
-
options = options ?? new
|
|
67
|
+
constructor(options?: IFrameworkConfiguration) {
|
|
68
|
+
options = options ?? new FrameworkConfiguration();
|
|
69
|
+
|
|
70
|
+
// Without a canvas, WindowManager creates one and appends it to document.body.
|
|
71
|
+
if(!options.canvas){
|
|
72
|
+
console.warn("Canvas not provided. Creating canvas and appending it to document.body.")
|
|
73
|
+
}
|
|
74
|
+
options.backBufferSize = options.backBufferSize ?? vec2.fromValues(800, 600);
|
|
51
75
|
|
|
52
76
|
this._container = container.createChildContainer();
|
|
53
|
-
this.windowManager = new WindowManager(options.canvas);
|
|
77
|
+
this.windowManager = new WindowManager(options.canvas ?? null);
|
|
54
78
|
|
|
55
79
|
// Setup container.
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
80
|
+
const rendererConfig: IRendererConfiguration = {
|
|
81
|
+
backBufferSize: options.backBufferSize,
|
|
82
|
+
textureFiltering: options.textureFiltering ?? TextureSamplerFilteringPreset.BILINEAR,
|
|
83
|
+
alpha: options.alpha ?? false,
|
|
84
|
+
powerPreference: options.powerPreference ?? PowerPreferenceType.DEFAULT
|
|
85
|
+
};
|
|
60
86
|
this._container.registerInstance(RenderConfigurationSymbol, rendererConfig);
|
|
61
87
|
this.renderer = new WebGlRenderer(this, rendererConfig);
|
|
62
88
|
this.renderingBackend = RenderingBackend.WEB_GL;
|
|
@@ -107,7 +133,7 @@ export class Framework implements IFramework {
|
|
|
107
133
|
|
|
108
134
|
/** @inheritDoc */
|
|
109
135
|
public removeOnInitializedListener(event: () => void): void {
|
|
110
|
-
|
|
136
|
+
Framework._removeListener(this._onInitializeListeners, event);
|
|
111
137
|
}
|
|
112
138
|
|
|
113
139
|
/** @inheritdoc */
|
|
@@ -117,7 +143,7 @@ export class Framework implements IFramework {
|
|
|
117
143
|
|
|
118
144
|
/** @inheritdoc */
|
|
119
145
|
public removeOnLoadContentListener(event: () => void): void {
|
|
120
|
-
|
|
146
|
+
Framework._removeListener(this._onLoadContentListeners, event);
|
|
121
147
|
}
|
|
122
148
|
|
|
123
149
|
/** @inheritdoc */
|
|
@@ -127,7 +153,7 @@ export class Framework implements IFramework {
|
|
|
127
153
|
|
|
128
154
|
/** @inheritdoc */
|
|
129
155
|
public removeOnUpdateListener(event: (gameTime: GameTime) => void): void {
|
|
130
|
-
|
|
156
|
+
Framework._removeListener(this._onUpdateListeners, event);
|
|
131
157
|
}
|
|
132
158
|
|
|
133
159
|
/** @inheritdoc */
|
|
@@ -137,7 +163,18 @@ export class Framework implements IFramework {
|
|
|
137
163
|
|
|
138
164
|
/** @inheritdoc */
|
|
139
165
|
public removeOnRenderListener(event: () => void): void {
|
|
140
|
-
|
|
166
|
+
Framework._removeListener(this._onRenderListeners, event);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Removes a listener if it is registered. An unknown listener is ignored,
|
|
171
|
+
* instead of `splice(-1, 1)` removing the last registered one.
|
|
172
|
+
*/
|
|
173
|
+
private static _removeListener<T>(listeners: T[], listener: T): void {
|
|
174
|
+
const index = listeners.indexOf(listener);
|
|
175
|
+
if (index >= 0) {
|
|
176
|
+
listeners.splice(index, 1);
|
|
177
|
+
}
|
|
141
178
|
}
|
|
142
179
|
|
|
143
180
|
/** @inheritdoc */
|
|
@@ -188,7 +225,10 @@ export class Framework implements IFramework {
|
|
|
188
225
|
/** @inheritdoc */
|
|
189
226
|
public initialize(): void {
|
|
190
227
|
|
|
191
|
-
this.ktx2Factory
|
|
228
|
+
if(this.ktx2Factory) {
|
|
229
|
+
this.ktx2Factory.initializeAsync();
|
|
230
|
+
}
|
|
231
|
+
|
|
192
232
|
(this.renderer as WebGlRenderer).initialize();
|
|
193
233
|
this.spriteBatch.initialize();
|
|
194
234
|
this.input.initialize();
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import { TextureSamplerFilteringPreset } from "../core/rendering/enums.ts";
|
|
2
|
+
import {vec2} from "gl-matrix";
|
|
3
|
+
import type {IFrameworkConfiguration} from "./IFrameworkConfiguration.ts";
|
|
4
|
+
import {PowerPreferenceType} from "./rendering/PowerPreference.ts";
|
|
5
|
+
|
|
6
|
+
/**
|
|
7
|
+
* The options for configuring the Framework.
|
|
8
|
+
* @public
|
|
9
|
+
*/
|
|
10
|
+
export class FrameworkConfiguration implements IFrameworkConfiguration {
|
|
11
|
+
|
|
12
|
+
/** @inheritDoc */
|
|
13
|
+
useKtx2 = false;
|
|
14
|
+
|
|
15
|
+
/** @inheritDoc */
|
|
16
|
+
canvas?: HTMLCanvasElement;
|
|
17
|
+
|
|
18
|
+
/** @inheritDoc */
|
|
19
|
+
backBufferSize?: vec2;
|
|
20
|
+
|
|
21
|
+
/** @inheritDoc */
|
|
22
|
+
textureFiltering? = TextureSamplerFilteringPreset.BILINEAR;
|
|
23
|
+
|
|
24
|
+
/** @inheritDoc */
|
|
25
|
+
alpha = false;
|
|
26
|
+
|
|
27
|
+
/** @inheritDoc */
|
|
28
|
+
powerPreference = PowerPreferenceType.DEFAULT;
|
|
29
|
+
}
|
|
@@ -0,0 +1,153 @@
|
|
|
1
|
+
import {RenderingBackend} from "./rendering/RenderingBackend.ts";
|
|
2
|
+
import type { ISpriteBatch } from "./sprites/ISpriteBatch.ts";
|
|
3
|
+
import type { IRenderer } from "./rendering/IRenderer.ts";
|
|
4
|
+
import type { IGraphicsDevice } from "./rendering/IGraphicsDevice.ts";
|
|
5
|
+
import type { IRenderPipelineFactory } from "./rendering/render-pipelines/IRenderPipelineFactory.ts";
|
|
6
|
+
import type { IBufferFactory } from "./rendering/buffers/IBufferFactory.ts";
|
|
7
|
+
import type { IGeometryBuilder } from "./geometry/IGeometryBuilder.ts";
|
|
8
|
+
import type { ICameraFactory } from "./camera/ICameraFactory.ts";
|
|
9
|
+
import type { ITextureFactory } from "./rendering/texture/ITextureFactory.ts";
|
|
10
|
+
import type { IContentManager } from "./content/IContentManager.ts";
|
|
11
|
+
import type { IImageLoader } from "./loaders/IImageLoader.ts";
|
|
12
|
+
import type { IMeshFactory } from "./meshes/IMeshFactory.ts";
|
|
13
|
+
import type { IMaterialFactory } from "./material/IMaterialFactory.ts";
|
|
14
|
+
import type { ITimeManager } from "./time/ITimeManager.ts";
|
|
15
|
+
import type { IInputManager } from "./input/IInputManager.ts";
|
|
16
|
+
import type { IWindowManager } from "./window/IWindowManager.ts";
|
|
17
|
+
import {GameTime} from "./time/GameTime.ts";
|
|
18
|
+
import type { IImageProcessor } from "./image/IImageProcessor.ts";
|
|
19
|
+
import type { IKtx2Factory } from "ris-ktx2";
|
|
20
|
+
import type { IDisposable } from "./core/IDisposable.ts";
|
|
21
|
+
|
|
22
|
+
/** The framework interface. */
|
|
23
|
+
export interface IFramework extends IDisposable {
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The image loader.
|
|
27
|
+
*/
|
|
28
|
+
readonly imageLoader: IImageLoader;
|
|
29
|
+
|
|
30
|
+
/**
|
|
31
|
+
* The used rendering backend.
|
|
32
|
+
*/
|
|
33
|
+
readonly renderingBackend: RenderingBackend;
|
|
34
|
+
|
|
35
|
+
/**
|
|
36
|
+
* The sprite batches.
|
|
37
|
+
*/
|
|
38
|
+
readonly spriteBatch: ISpriteBatch;
|
|
39
|
+
|
|
40
|
+
/**
|
|
41
|
+
* The renderer used by the framework.
|
|
42
|
+
*/
|
|
43
|
+
readonly renderer: IRenderer;
|
|
44
|
+
|
|
45
|
+
/**
|
|
46
|
+
* The graphics device used by the framework.
|
|
47
|
+
*/
|
|
48
|
+
readonly graphicsDevice: IGraphicsDevice;
|
|
49
|
+
|
|
50
|
+
/**
|
|
51
|
+
* The pipeline factory.
|
|
52
|
+
* Responsible for creating low-level rendering pipelines.
|
|
53
|
+
* Pipeline includes everything necessary to render some geometry
|
|
54
|
+
* and can be thought of as a material or renderer.
|
|
55
|
+
*/
|
|
56
|
+
readonly renderPipelineFactory: IRenderPipelineFactory;
|
|
57
|
+
|
|
58
|
+
/**
|
|
59
|
+
* The buffer factory, responsible for creating GPU memory buffers.
|
|
60
|
+
*/
|
|
61
|
+
readonly bufferFactory: IBufferFactory;
|
|
62
|
+
|
|
63
|
+
/**
|
|
64
|
+
* The geometry builder.
|
|
65
|
+
*/
|
|
66
|
+
readonly geometryBuilder: IGeometryBuilder;
|
|
67
|
+
|
|
68
|
+
/** The texture factory. */
|
|
69
|
+
readonly textureFactory: ITextureFactory;
|
|
70
|
+
|
|
71
|
+
/** The KTX2 factory. Initialized only if KTX2 is requested or loaded. */
|
|
72
|
+
readonly ktx2Factory?: IKtx2Factory;
|
|
73
|
+
|
|
74
|
+
/**
|
|
75
|
+
* The camera factory.
|
|
76
|
+
*/
|
|
77
|
+
readonly cameraFactory: ICameraFactory;
|
|
78
|
+
|
|
79
|
+
/**
|
|
80
|
+
* The content manager.
|
|
81
|
+
*/
|
|
82
|
+
readonly content: IContentManager;
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* The mesh factory.
|
|
86
|
+
*/
|
|
87
|
+
readonly meshFactory: IMeshFactory;
|
|
88
|
+
|
|
89
|
+
/**
|
|
90
|
+
* The material factory.
|
|
91
|
+
*/
|
|
92
|
+
readonly materialFactory: IMaterialFactory;
|
|
93
|
+
|
|
94
|
+
/**
|
|
95
|
+
* The time manager.
|
|
96
|
+
*/
|
|
97
|
+
readonly timeManager: ITimeManager;
|
|
98
|
+
|
|
99
|
+
/** The input manager. */
|
|
100
|
+
readonly input: IInputManager;
|
|
101
|
+
|
|
102
|
+
/** The window manager. */
|
|
103
|
+
readonly windowManager: IWindowManager;
|
|
104
|
+
|
|
105
|
+
/** The image processor. */
|
|
106
|
+
readonly imageProcessor: IImageProcessor;
|
|
107
|
+
|
|
108
|
+
/**
|
|
109
|
+
* Called right after the framework is initialized and before the render loop starts.
|
|
110
|
+
* Content can be loaded here.
|
|
111
|
+
*/
|
|
112
|
+
addOnLoadContentListener(event: () => void): void;
|
|
113
|
+
|
|
114
|
+
/**
|
|
115
|
+
* Called right after the framework is initialized and before the render loop starts.
|
|
116
|
+
* Content can be loaded here.
|
|
117
|
+
*/
|
|
118
|
+
removeOnLoadContentListener(event: () => void): void;
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Called when the framework is initialized.
|
|
122
|
+
*/
|
|
123
|
+
addOnInitializedListener(event: () => void): void;
|
|
124
|
+
|
|
125
|
+
/**
|
|
126
|
+
* Called when the framework is initialized.
|
|
127
|
+
*/
|
|
128
|
+
removeOnInitializedListener(event: () => void): void;
|
|
129
|
+
|
|
130
|
+
/**
|
|
131
|
+
* Called when framework is updated.
|
|
132
|
+
*/
|
|
133
|
+
addOnUpdateListener(event: (gameTime: GameTime) => void): void;
|
|
134
|
+
|
|
135
|
+
/**
|
|
136
|
+
* Called when framework is updated.
|
|
137
|
+
*/
|
|
138
|
+
removeOnUpdateListener(event: (gameTime: GameTime) => void): void;
|
|
139
|
+
|
|
140
|
+
/**
|
|
141
|
+
* Called when the framework is rendered.
|
|
142
|
+
*/
|
|
143
|
+
addOnRenderListener(event: () => void): void;
|
|
144
|
+
|
|
145
|
+
/**
|
|
146
|
+
* Called when the framework is rendered.
|
|
147
|
+
*/
|
|
148
|
+
removeOnRenderListener(event: () => void): void;
|
|
149
|
+
|
|
150
|
+
/** Initializes the framework. */
|
|
151
|
+
initialize(): void;
|
|
152
|
+
|
|
153
|
+
}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import {PowerPreferenceType} from "./rendering/PowerPreference.ts";
|
|
2
|
+
import type {vec2} from "gl-matrix";
|
|
3
|
+
import type {TextureSamplerFilteringPreset} from "../core/rendering/enums.ts";
|
|
4
|
+
|
|
5
|
+
/**
|
|
6
|
+
* The configuration for the framework.
|
|
7
|
+
* @public
|
|
8
|
+
**/
|
|
9
|
+
export class IFrameworkConfiguration {
|
|
10
|
+
/** If true, creates and makes the KTX2 factory available. */
|
|
11
|
+
useKtx2?: boolean;
|
|
12
|
+
|
|
13
|
+
/** The size of back buffer. */
|
|
14
|
+
backBufferSize?: vec2;
|
|
15
|
+
|
|
16
|
+
/** The texture filtering to configure */
|
|
17
|
+
textureFiltering?: TextureSamplerFilteringPreset;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The HTMLCanvasElement to use for rendering.
|
|
21
|
+
* If null, a new canvas will be created and added to the document body.
|
|
22
|
+
*/
|
|
23
|
+
canvas?: HTMLCanvasElement;
|
|
24
|
+
|
|
25
|
+
/** Should back buffer use alpha. */
|
|
26
|
+
alpha?: boolean;
|
|
27
|
+
|
|
28
|
+
/** The preference when it comes to selecting GPU device. Only makes sense to set on multi-GPU devices. */
|
|
29
|
+
powerPreference ?: PowerPreferenceType;
|
|
30
|
+
}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
export * from "./IFramework.ts";
|
|
2
|
+
export * from "./IFrameworkConfiguration.ts";
|
|
3
|
+
export * from "./rendering/texture/_export-texture.ts";
|
|
4
|
+
export * from "./rendering/buffers/_export-buffers.ts";
|
|
5
|
+
export * from "./data/_export.ts";
|
|
6
|
+
export * from "./geometry/_export-geometry.ts";
|
|
7
|
+
export * from "./rendering/_export-rendering.ts";
|
|
8
|
+
export * from "./rendering/render-pipelines/_export-render-pipelines.ts";
|
|
9
|
+
export * from "./sprites/_export_sprites.ts";
|
|
10
|
+
export * from "./camera/_export.ts";
|
|
11
|
+
export * from "./time/_export_time.ts";
|
|
12
|
+
export * from "./core/_export-core.ts";
|
|
13
|
+
export * from "./shader/_export-shader.ts";
|
|
14
|
+
export * from "./content/_export-content.ts";
|
|
15
|
+
export * from "./rendering/primitive/_export.ts";
|
|
16
|
+
export * from "./rendering/blending/_export.ts";
|
|
17
|
+
export * from "./loaders/_export.ts";
|
|
18
|
+
export * from "./rendering/renderpass/_export.ts";
|
|
19
|
+
export * from "./window/_export.ts";
|
|
20
|
+
export * from "./rendering/swapchain/_export.ts";
|
|
21
|
+
export * from "./rendering/sampler/_export.ts"
|
|
22
|
+
export * from "./utilities/_export.ts"
|
|
23
|
+
export * from "./meshes/_export.ts";
|
|
24
|
+
export * from "./material/_export.ts";
|
|
25
|
+
export * from "./input/_export.ts";
|
|
26
|
+
export * from "./image/_export.ts";
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import {vec2} from "gl-matrix";
|
|
2
|
+
import type { ICameraFactory } from "./ICameraFactory.ts";
|
|
3
|
+
import type { IFramework } from "../IFramework.ts";
|
|
4
|
+
import type { IOrthographicCamera } from "./IOrthographicCamera.ts";
|
|
5
|
+
import {OrthographicCamera} from "./OrthographicCamera.ts";
|
|
6
|
+
import {OrbitCamera} from "./OrbitCamera.ts";
|
|
7
|
+
import {PerspectiveCamera} from "./PerspectiveCamera.ts";
|
|
8
|
+
import {MathHelper} from "../utilities/MathHelper.ts";
|
|
9
|
+
|
|
10
|
+
/** The Camera Factory */
|
|
11
|
+
export class CameraFactory implements ICameraFactory {
|
|
12
|
+
|
|
13
|
+
static DEFAULT_ORIGIN = vec2.fromValues(0,0);
|
|
14
|
+
|
|
15
|
+
/**
|
|
16
|
+
* The constructor.
|
|
17
|
+
* @param _framework
|
|
18
|
+
*/
|
|
19
|
+
public constructor(private readonly _framework: IFramework) {}
|
|
20
|
+
|
|
21
|
+
/** @inheritDoc */
|
|
22
|
+
public createDefaultOrthographicCamera(origin?: vec2): IOrthographicCamera {
|
|
23
|
+
|
|
24
|
+
origin = origin ?? CameraFactory.DEFAULT_ORIGIN;
|
|
25
|
+
|
|
26
|
+
const framework = this._framework;
|
|
27
|
+
const left = -framework.renderer.backBufferSize[0] * origin[0];
|
|
28
|
+
const top = -framework.renderer.backBufferSize[1] * origin[1];
|
|
29
|
+
const right = left + framework.renderer.backBufferSize[0];
|
|
30
|
+
const bottom = top + framework.renderer.backBufferSize[1];
|
|
31
|
+
|
|
32
|
+
return this.createOrthographicCamera(left, right, top, bottom, 0, 1);
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
/** @inheritDoc */
|
|
36
|
+
public createOrthographicCamera(left: number, right: number, top: number, bottom: number, near: number, far: number): IOrthographicCamera {
|
|
37
|
+
const camera = new OrthographicCamera(this._framework, left, right, top, bottom, near, far);
|
|
38
|
+
camera.initialize();
|
|
39
|
+
return camera;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
/** @inheritDoc */
|
|
43
|
+
public createOrbitCamera(fov = 60, aspectRatio = 1, near = 0.01, far = 100): OrbitCamera {
|
|
44
|
+
return new OrbitCamera(this.createPerspectiveCamera(fov, aspectRatio, near, far), this._framework.input);
|
|
45
|
+
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
/** @inheritDoc */
|
|
49
|
+
public createPerspectiveCamera(fov= 60, aspectRatio = 1, near= 0.01, far = 100): PerspectiveCamera {
|
|
50
|
+
fov = MathHelper.toRadians(fov);
|
|
51
|
+
const camera = new PerspectiveCamera(this._framework, fov, aspectRatio, near, far);
|
|
52
|
+
camera.initialize();
|
|
53
|
+
return camera;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
}
|