ris-framework 0.1.0 → 0.2.0-dev.12

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.
Files changed (383) hide show
  1. package/CHANGELOG.md +42 -1
  2. package/README.md +27 -4
  3. package/dist/Framework.d.ts +34 -10
  4. package/dist/Framework.d.ts.map +1 -1
  5. package/dist/api/IFramework.d.ts +50 -6
  6. package/dist/api/IFramework.d.ts.map +1 -1
  7. package/dist/api/_export.d.ts +3 -1
  8. package/dist/api/_export.d.ts.map +1 -1
  9. package/dist/api/camera/CameraFactory.d.ts +3 -2
  10. package/dist/api/camera/CameraFactory.d.ts.map +1 -1
  11. package/dist/api/camera/ICamera.d.ts +5 -0
  12. package/dist/api/camera/ICamera.d.ts.map +1 -1
  13. package/dist/api/camera/ICameraFactory.d.ts +5 -6
  14. package/dist/api/camera/ICameraFactory.d.ts.map +1 -1
  15. package/dist/api/camera/OrthographicCamera.d.ts +7 -0
  16. package/dist/api/camera/OrthographicCamera.d.ts.map +1 -1
  17. package/dist/api/camera/PerspectiveCamera.d.ts +30 -6
  18. package/dist/api/camera/PerspectiveCamera.d.ts.map +1 -1
  19. package/dist/api/content/ContentManager.d.ts +15 -2
  20. package/dist/api/content/ContentManager.d.ts.map +1 -1
  21. package/dist/api/content/IContentManager.d.ts +35 -1
  22. package/dist/api/content/IContentManager.d.ts.map +1 -1
  23. package/dist/api/content/ShaderModuleContent.d.ts.map +1 -1
  24. package/dist/api/data/Color.d.ts +5 -0
  25. package/dist/api/data/Color.d.ts.map +1 -1
  26. package/dist/api/geometry/BaseGeometry.d.ts +9 -0
  27. package/dist/api/geometry/BaseGeometry.d.ts.map +1 -1
  28. package/dist/api/geometry/GeometryBuilder.d.ts +3 -1
  29. package/dist/api/geometry/GeometryBuilder.d.ts.map +1 -1
  30. package/dist/api/geometry/IGeometryBuilder.d.ts +24 -0
  31. package/dist/api/geometry/IGeometryBuilder.d.ts.map +1 -1
  32. package/dist/api/geometry/_export-geometry.d.ts +1 -0
  33. package/dist/api/geometry/_export-geometry.d.ts.map +1 -1
  34. package/dist/api/input/InputManager.d.ts +4 -0
  35. package/dist/api/input/InputManager.d.ts.map +1 -1
  36. package/dist/api/lights/AmbientLight.d.ts +35 -0
  37. package/dist/api/lights/AmbientLight.d.ts.map +1 -0
  38. package/dist/api/lights/DirectionalLight.d.ts +40 -0
  39. package/dist/api/lights/DirectionalLight.d.ts.map +1 -0
  40. package/dist/api/lights/LightFactory.d.ts +18 -0
  41. package/dist/api/lights/LightFactory.d.ts.map +1 -0
  42. package/dist/api/lights/LightId.d.ts +6 -0
  43. package/dist/api/lights/LightId.d.ts.map +1 -0
  44. package/dist/api/lights/LightsBuffer.d.ts +77 -0
  45. package/dist/api/lights/LightsBuffer.d.ts.map +1 -0
  46. package/dist/api/lights/PointLight.d.ts +59 -0
  47. package/dist/api/lights/PointLight.d.ts.map +1 -0
  48. package/dist/api/lights/_export.d.ts +6 -0
  49. package/dist/api/lights/_export.d.ts.map +1 -0
  50. package/dist/api/loaders/ObjGeometryMapper.d.ts +19 -0
  51. package/dist/api/loaders/ObjGeometryMapper.d.ts.map +1 -0
  52. package/dist/api/loaders/ObjLoader.d.ts +61 -0
  53. package/dist/api/loaders/ObjLoader.d.ts.map +1 -0
  54. package/dist/api/loaders/_export.d.ts +2 -0
  55. package/dist/api/loaders/_export.d.ts.map +1 -1
  56. package/dist/api/loaders/obj/ObjParser.d.ts +44 -0
  57. package/dist/api/loaders/obj/ObjParser.d.ts.map +1 -0
  58. package/dist/api/loaders/obj/ObjTypes.d.ts +119 -0
  59. package/dist/api/loaders/obj/ObjTypes.d.ts.map +1 -0
  60. package/dist/api/loaders/obj/index.d.ts +3 -0
  61. package/dist/api/loaders/obj/index.d.ts.map +1 -0
  62. package/dist/api/material/ForwardBlinnPhongMaterial.d.ts +138 -0
  63. package/dist/api/material/ForwardBlinnPhongMaterial.d.ts.map +1 -0
  64. package/dist/api/material/ICameraMaterial.d.ts +18 -0
  65. package/dist/api/material/ICameraMaterial.d.ts.map +1 -0
  66. package/dist/api/material/ILightsMaterial.d.ts +26 -0
  67. package/dist/api/material/ILightsMaterial.d.ts.map +1 -0
  68. package/dist/api/material/IMaterial.d.ts +13 -10
  69. package/dist/api/material/IMaterial.d.ts.map +1 -1
  70. package/dist/api/material/IMaterialFactory.d.ts +17 -2
  71. package/dist/api/material/IMaterialFactory.d.ts.map +1 -1
  72. package/dist/api/material/InspectTextureMipsMaterial.d.ts +18 -9
  73. package/dist/api/material/InspectTextureMipsMaterial.d.ts.map +1 -1
  74. package/dist/api/material/MaterialFactory.d.ts +6 -0
  75. package/dist/api/material/MaterialFactory.d.ts.map +1 -1
  76. package/dist/api/material/SpriteMaterial.d.ts +51 -0
  77. package/dist/api/material/SpriteMaterial.d.ts.map +1 -0
  78. package/dist/api/material/UnlitMaterial.d.ts +32 -13
  79. package/dist/api/material/UnlitMaterial.d.ts.map +1 -1
  80. package/dist/api/material/_export.d.ts +4 -0
  81. package/dist/api/material/_export.d.ts.map +1 -1
  82. package/dist/api/meshes/IMesh.d.ts +31 -6
  83. package/dist/api/meshes/IMesh.d.ts.map +1 -1
  84. package/dist/api/meshes/IMeshFactory.d.ts +30 -4
  85. package/dist/api/meshes/IMeshFactory.d.ts.map +1 -1
  86. package/dist/api/meshes/IRenderableMesh.d.ts +47 -0
  87. package/dist/api/meshes/IRenderableMesh.d.ts.map +1 -0
  88. package/dist/api/meshes/Mesh.d.ts +14 -8
  89. package/dist/api/meshes/Mesh.d.ts.map +1 -1
  90. package/dist/api/meshes/MeshFactory.d.ts +10 -3
  91. package/dist/api/meshes/MeshFactory.d.ts.map +1 -1
  92. package/dist/api/meshes/QuadMesh.d.ts +5 -3
  93. package/dist/api/meshes/QuadMesh.d.ts.map +1 -1
  94. package/dist/api/meshes/RenderableMesh.d.ts +95 -0
  95. package/dist/api/meshes/RenderableMesh.d.ts.map +1 -0
  96. package/dist/api/meshes/_export.d.ts +2 -0
  97. package/dist/api/meshes/_export.d.ts.map +1 -1
  98. package/dist/api/rendering/IGraphicsDeviceFeatures.d.ts +8 -2
  99. package/dist/api/rendering/IGraphicsDeviceFeatures.d.ts.map +1 -1
  100. package/dist/api/rendering/IRenderer.d.ts +28 -1
  101. package/dist/api/rendering/IRenderer.d.ts.map +1 -1
  102. package/dist/api/rendering/enums.d.ts +7 -0
  103. package/dist/api/rendering/enums.d.ts.map +1 -1
  104. package/dist/api/rendering/render-pipelines/IForwardBlinnPhongRenderPipeline.d.ts +56 -0
  105. package/dist/api/rendering/render-pipelines/IForwardBlinnPhongRenderPipeline.d.ts.map +1 -0
  106. package/dist/api/rendering/render-pipelines/IRenderPipeline.d.ts +3 -0
  107. package/dist/api/rendering/render-pipelines/IRenderPipeline.d.ts.map +1 -1
  108. package/dist/api/rendering/render-pipelines/IRenderPipelineFactory.d.ts +29 -0
  109. package/dist/api/rendering/render-pipelines/IRenderPipelineFactory.d.ts.map +1 -1
  110. package/dist/api/rendering/render-pipelines/_export-render-pipelines.d.ts +1 -0
  111. package/dist/api/rendering/render-pipelines/_export-render-pipelines.d.ts.map +1 -1
  112. package/dist/api/rendering/renderer-interface.d.ts +1 -31
  113. package/dist/api/rendering/renderer-interface.d.ts.map +1 -1
  114. package/dist/api/rendering/renderpass/RenderPassDescriptor.d.ts +2 -6
  115. package/dist/api/rendering/renderpass/RenderPassDescriptor.d.ts.map +1 -1
  116. package/dist/api/rendering/swapchain/ISwapChain.d.ts +1 -3
  117. package/dist/api/rendering/swapchain/ISwapChain.d.ts.map +1 -1
  118. package/dist/api/rendering/texture/TextureFormat.d.ts +88 -14
  119. package/dist/api/rendering/texture/TextureFormat.d.ts.map +1 -1
  120. package/dist/api/rendering/texture/TextureUtilities.d.ts +23 -0
  121. package/dist/api/rendering/texture/TextureUtilities.d.ts.map +1 -1
  122. package/dist/api/scene/Scene.d.ts +113 -0
  123. package/dist/api/scene/Scene.d.ts.map +1 -0
  124. package/dist/api/scene/SceneMesh.d.ts +27 -0
  125. package/dist/api/scene/SceneMesh.d.ts.map +1 -0
  126. package/dist/api/shader/IShaderModuleLoader.d.ts +4 -1
  127. package/dist/api/shader/IShaderModuleLoader.d.ts.map +1 -1
  128. package/dist/api/shader/{shader-loader.d.ts → ShaderLoader.d.ts} +1 -1
  129. package/dist/api/shader/ShaderLoader.d.ts.map +1 -0
  130. package/dist/api/sprites/SpriteBatchDrawable.d.ts +1 -1
  131. package/dist/api/sprites/SpriteBatchDrawable.d.ts.map +1 -1
  132. package/dist/api/sprites/SpriteBatchMesh.d.ts +14 -1
  133. package/dist/api/sprites/SpriteBatchMesh.d.ts.map +1 -1
  134. package/dist/api/utilities/AlignUtilities.d.ts.map +1 -1
  135. package/dist/api/utilities/GeometryUtilities.d.ts.map +1 -1
  136. package/dist/api/window/WindowManager.d.ts +4 -0
  137. package/dist/api/window/WindowManager.d.ts.map +1 -1
  138. package/dist/core/rendering/ARenderer.d.ts +5 -5
  139. package/dist/core/rendering/ARenderer.d.ts.map +1 -1
  140. package/dist/core/rendering/vertex-buffer-layout.d.ts +1 -0
  141. package/dist/core/rendering/vertex-buffer-layout.d.ts.map +1 -1
  142. package/dist/index.d.ts +0 -1
  143. package/dist/index.d.ts.map +1 -1
  144. package/dist/index.js +9238 -4595
  145. package/dist/webgl/WebGLGraphicsDeviceFeatures.d.ts +4 -0
  146. package/dist/webgl/WebGLGraphicsDeviceFeatures.d.ts.map +1 -1
  147. package/dist/webgl/WebGlGraphicsDevice.d.ts.map +1 -1
  148. package/dist/webgl/WebGlRenderer.d.ts +1 -3
  149. package/dist/webgl/WebGlRenderer.d.ts.map +1 -1
  150. package/dist/webgl/lights/WebGlAmbientLightFactory.d.ts +17 -0
  151. package/dist/webgl/lights/WebGlAmbientLightFactory.d.ts.map +1 -0
  152. package/dist/webgl/lights/WebGlLightsBuffer.d.ts +59 -0
  153. package/dist/webgl/lights/WebGlLightsBuffer.d.ts.map +1 -0
  154. package/dist/webgl/render-pipelines/AWebGlRenderPipeline.d.ts +3 -1
  155. package/dist/webgl/render-pipelines/AWebGlRenderPipeline.d.ts.map +1 -1
  156. package/dist/webgl/render-pipelines/WebGlMainRenderTargetRenderPipeline.d.ts +5 -0
  157. package/dist/webgl/render-pipelines/WebGlMainRenderTargetRenderPipeline.d.ts.map +1 -1
  158. package/dist/webgl/render-pipelines/WebGlRenderPipelineFactory.d.ts +3 -1
  159. package/dist/webgl/render-pipelines/WebGlRenderPipelineFactory.d.ts.map +1 -1
  160. package/dist/webgl/render-pipelines/inspect/WebGlInspectTextureMipsRenderPipeline.d.ts +3 -1
  161. package/dist/webgl/render-pipelines/inspect/WebGlInspectTextureMipsRenderPipeline.d.ts.map +1 -1
  162. package/dist/webgl/render-pipelines/material/WebGlBlinnPhongRenderPipeline.d.ts +88 -0
  163. package/dist/webgl/render-pipelines/material/WebGlBlinnPhongRenderPipeline.d.ts.map +1 -0
  164. package/dist/webgl/render-pipelines/material/WebGlUnlitRenderPipeline.d.ts +3 -1
  165. package/dist/webgl/render-pipelines/material/WebGlUnlitRenderPipeline.d.ts.map +1 -1
  166. package/dist/webgl/render-pipelines/sprite/WebGlSpriteRenderPipeline.d.ts +3 -1
  167. package/dist/webgl/render-pipelines/sprite/WebGlSpriteRenderPipeline.d.ts.map +1 -1
  168. package/dist/webgl/shader/WebGlShaderModule.d.ts +4 -1
  169. package/dist/webgl/shader/WebGlShaderModule.d.ts.map +1 -1
  170. package/dist/webgl/shader/WebGlShaderModuleLoader.d.ts +16 -5
  171. package/dist/webgl/shader/WebGlShaderModuleLoader.d.ts.map +1 -1
  172. package/dist/webgl/swap-chain/WebGlSwapChain.d.ts +3 -2
  173. package/dist/webgl/swap-chain/WebGlSwapChain.d.ts.map +1 -1
  174. package/dist/webgl/texture/WebGlTexture2D.d.ts +8 -1
  175. package/dist/webgl/texture/WebGlTexture2D.d.ts.map +1 -1
  176. package/dist/webgl/texture/WebGlTextureFactory.d.ts +7 -0
  177. package/dist/webgl/texture/WebGlTextureFactory.d.ts.map +1 -1
  178. package/dist/webgl/utilities/WebGlConstants.d.ts +91 -0
  179. package/dist/webgl/utilities/WebGlConstants.d.ts.map +1 -0
  180. package/dist/webgl/utilities/WebGlConverter.d.ts +0 -7
  181. package/dist/webgl/utilities/WebGlConverter.d.ts.map +1 -1
  182. package/dist/webgl/utilities/WebGlErrorUtilities.d.ts +10 -0
  183. package/dist/webgl/utilities/WebGlErrorUtilities.d.ts.map +1 -0
  184. package/dist/webgl/utilities/WebGlTextureUtilities.d.ts.map +1 -1
  185. package/dist/webgl/utilities/WebGlUtilities.d.ts +3 -0
  186. package/dist/webgl/utilities/WebGlUtilities.d.ts.map +1 -1
  187. package/dist/webgl/utilities/webgl-filter-anisotropic-utilities.d.ts +0 -1
  188. package/dist/webgl/utilities/webgl-filter-anisotropic-utilities.d.ts.map +1 -1
  189. package/dist/webgpu/WebGpuGpuInfo.d.ts +28 -0
  190. package/dist/webgpu/WebGpuGpuInfo.d.ts.map +1 -0
  191. package/dist/webgpu/WebGpuGraphicsDevice.d.ts +80 -0
  192. package/dist/webgpu/WebGpuGraphicsDevice.d.ts.map +1 -0
  193. package/dist/webgpu/WebGpuGraphicsDeviceFeatures.d.ts +26 -0
  194. package/dist/webgpu/WebGpuGraphicsDeviceFeatures.d.ts.map +1 -0
  195. package/dist/webgpu/WebGpuRenderer.d.ts +26 -0
  196. package/dist/webgpu/WebGpuRenderer.d.ts.map +1 -0
  197. package/dist/webgpu/WebGpuTypes.d.ts +355 -0
  198. package/dist/webgpu/WebGpuTypes.d.ts.map +1 -0
  199. package/dist/webgpu/blending/WebGpuBlendState.d.ts +30 -0
  200. package/dist/webgpu/blending/WebGpuBlendState.d.ts.map +1 -0
  201. package/dist/webgpu/buffers/WebGpuBuffersFactory.d.ts +20 -0
  202. package/dist/webgpu/buffers/WebGpuBuffersFactory.d.ts.map +1 -0
  203. package/dist/webgpu/buffers/WebGpuIndexBuffer.d.ts +46 -0
  204. package/dist/webgpu/buffers/WebGpuIndexBuffer.d.ts.map +1 -0
  205. package/dist/webgpu/buffers/WebGpuUniformBuffer.d.ts +43 -0
  206. package/dist/webgpu/buffers/WebGpuUniformBuffer.d.ts.map +1 -0
  207. package/dist/webgpu/buffers/WebGpuVertexBuffer.d.ts +49 -0
  208. package/dist/webgpu/buffers/WebGpuVertexBuffer.d.ts.map +1 -0
  209. package/dist/webgpu/primitive/WebGpuPrimitiveState.d.ts +32 -0
  210. package/dist/webgpu/primitive/WebGpuPrimitiveState.d.ts.map +1 -0
  211. package/dist/webgpu/render-pass/WebGpuRenderPass.d.ts +28 -0
  212. package/dist/webgpu/render-pass/WebGpuRenderPass.d.ts.map +1 -0
  213. package/dist/webgpu/render-pipelines/AWebGpuRenderPipeline.d.ts +50 -0
  214. package/dist/webgpu/render-pipelines/AWebGpuRenderPipeline.d.ts.map +1 -0
  215. package/dist/webgpu/render-pipelines/WebGpuMainRenderTargetRenderPipeline.d.ts +34 -0
  216. package/dist/webgpu/render-pipelines/WebGpuMainRenderTargetRenderPipeline.d.ts.map +1 -0
  217. package/dist/webgpu/render-pipelines/WebGpuRenderPipelineFactory.d.ts +26 -0
  218. package/dist/webgpu/render-pipelines/WebGpuRenderPipelineFactory.d.ts.map +1 -0
  219. package/dist/webgpu/render-pipelines/material/AWebGpuMeshRenderPipeline.d.ts +72 -0
  220. package/dist/webgpu/render-pipelines/material/AWebGpuMeshRenderPipeline.d.ts.map +1 -0
  221. package/dist/webgpu/render-pipelines/material/WebGpuUnlitRenderPipeline.d.ts +40 -0
  222. package/dist/webgpu/render-pipelines/material/WebGpuUnlitRenderPipeline.d.ts.map +1 -0
  223. package/dist/webgpu/sampler/WebGpuSampler.d.ts +39 -0
  224. package/dist/webgpu/sampler/WebGpuSampler.d.ts.map +1 -0
  225. package/dist/webgpu/shader/WebGpuShaderModule.d.ts +29 -0
  226. package/dist/webgpu/shader/WebGpuShaderModule.d.ts.map +1 -0
  227. package/dist/webgpu/shader/WebGpuShaderModuleLoader.d.ts +21 -0
  228. package/dist/webgpu/shader/WebGpuShaderModuleLoader.d.ts.map +1 -0
  229. package/dist/webgpu/shader/WgslShaderContent.d.ts +9 -0
  230. package/dist/webgpu/shader/WgslShaderContent.d.ts.map +1 -0
  231. package/dist/webgpu/swap-chain/WebGpuSwapChain.d.ts +41 -0
  232. package/dist/webgpu/swap-chain/WebGpuSwapChain.d.ts.map +1 -0
  233. package/dist/webgpu/texture/WebGpuTexture2D.d.ts +47 -0
  234. package/dist/webgpu/texture/WebGpuTexture2D.d.ts.map +1 -0
  235. package/dist/webgpu/texture/WebGpuTextureFactory.d.ts +21 -0
  236. package/dist/webgpu/texture/WebGpuTextureFactory.d.ts.map +1 -0
  237. package/dist/webgpu/texture/WebGpuTextureView.d.ts +25 -0
  238. package/dist/webgpu/texture/WebGpuTextureView.d.ts.map +1 -0
  239. package/dist/webgpu/utilities/WebGpuConverter.d.ts +45 -0
  240. package/dist/webgpu/utilities/WebGpuConverter.d.ts.map +1 -0
  241. package/package.json +4 -4
  242. package/shaders/glsl/forward_blinn_phong_material_fs.glsl +110 -0
  243. package/shaders/glsl/forward_blinn_phong_material_vs.glsl +32 -0
  244. package/shaders/glsl/main_render_target_flip_y_fs.glsl +35 -1
  245. package/shaders/glsl/sprite_fs.glsl +1 -1
  246. package/shaders/glsl/unlit_material_fs.glsl +1 -1
  247. package/shaders/wgsl/forward_blinn_phong_material.wgsl +150 -0
  248. package/shaders/wgsl/inspect_texture_mips.wgsl +51 -0
  249. package/shaders/wgsl/main_frame_buffer.wgsl +35 -0
  250. package/shaders/wgsl/main_render_target_flip_y.wgsl +35 -0
  251. package/shaders/wgsl/sprite.wgsl +40 -0
  252. package/shaders/wgsl/unlit_material.wgsl +49 -0
  253. package/src/Framework.ts +156 -48
  254. package/src/api/IFramework.ts +63 -6
  255. package/src/api/_export.ts +3 -1
  256. package/src/api/camera/CameraFactory.ts +6 -6
  257. package/src/api/camera/ICamera.ts +6 -0
  258. package/src/api/camera/ICameraFactory.ts +5 -10
  259. package/src/api/camera/OrthographicCamera.ts +23 -1
  260. package/src/api/camera/PerspectiveCamera.ts +60 -15
  261. package/src/api/content/ContentManager.ts +78 -16
  262. package/src/api/content/IContentManager.ts +37 -1
  263. package/src/api/content/ShaderModuleContent.ts +9 -0
  264. package/src/api/data/Color.ts +7 -1
  265. package/src/api/geometry/BaseGeometry.ts +23 -0
  266. package/src/api/geometry/GeometryBuilder.ts +14 -2
  267. package/src/api/geometry/IGeometryBuilder.ts +31 -1
  268. package/src/api/geometry/_export-geometry.ts +2 -1
  269. package/src/api/input/InputManager.ts +14 -5
  270. package/src/api/lights/AmbientLight.ts +53 -0
  271. package/src/api/lights/DirectionalLight.ts +60 -0
  272. package/src/api/lights/LightFactory.ts +21 -0
  273. package/src/api/lights/LightId.ts +9 -0
  274. package/src/api/lights/LightsBuffer.ts +94 -0
  275. package/src/api/lights/PointLight.ts +91 -0
  276. package/src/api/lights/_export.ts +5 -0
  277. package/src/api/loaders/ObjGeometryMapper.ts +28 -0
  278. package/src/api/loaders/ObjLoader.ts +126 -0
  279. package/src/api/loaders/_export.ts +3 -1
  280. package/src/api/loaders/obj/ObjParser.ts +301 -0
  281. package/src/api/loaders/obj/ObjTypes.ts +142 -0
  282. package/src/api/loaders/obj/index.ts +5 -0
  283. package/src/api/material/ForwardBlinnPhongMaterial.ts +328 -0
  284. package/src/api/material/ICameraMaterial.ts +22 -0
  285. package/src/api/material/ILightsMaterial.ts +32 -0
  286. package/src/api/material/IMaterial.ts +13 -10
  287. package/src/api/material/IMaterialFactory.ts +19 -2
  288. package/src/api/material/InspectTextureMipsMaterial.ts +65 -26
  289. package/src/api/material/MaterialFactory.ts +12 -0
  290. package/src/api/material/SpriteMaterial.ts +83 -0
  291. package/src/api/material/UnlitMaterial.ts +105 -32
  292. package/src/api/material/_export.ts +5 -1
  293. package/src/api/meshes/IMesh.ts +40 -6
  294. package/src/api/meshes/IMeshFactory.ts +33 -4
  295. package/src/api/meshes/IRenderableMesh.ts +58 -0
  296. package/src/api/meshes/Mesh.ts +50 -43
  297. package/src/api/meshes/MeshFactory.ts +37 -4
  298. package/src/api/meshes/QuadMesh.ts +6 -4
  299. package/src/api/meshes/RenderableMesh.ts +207 -0
  300. package/src/api/meshes/_export.ts +6 -4
  301. package/src/api/rendering/IGraphicsDeviceFeatures.ts +28 -21
  302. package/src/api/rendering/IRenderer.ts +34 -1
  303. package/src/api/rendering/enums.ts +10 -0
  304. package/src/api/rendering/render-pipelines/IForwardBlinnPhongRenderPipeline.ts +66 -0
  305. package/src/api/rendering/render-pipelines/IRenderPipeline.ts +4 -0
  306. package/src/api/rendering/render-pipelines/IRenderPipelineFactory.ts +39 -0
  307. package/src/api/rendering/render-pipelines/_export-render-pipelines.ts +2 -1
  308. package/src/api/rendering/renderer-interface.ts +1 -36
  309. package/src/api/rendering/renderpass/RenderPassDescriptor.ts +10 -14
  310. package/src/api/rendering/swapchain/ISwapChain.ts +1 -3
  311. package/src/api/rendering/texture/TextureFormat.ts +128 -14
  312. package/src/api/rendering/texture/TextureUtilities.ts +225 -10
  313. package/src/api/scene/Scene.ts +297 -0
  314. package/src/api/scene/SceneMesh.ts +61 -0
  315. package/src/api/shader/IShaderModuleLoader.ts +2 -1
  316. package/src/api/sprites/SpriteBatchDrawable.ts +12 -16
  317. package/src/api/sprites/SpriteBatchMesh.ts +22 -3
  318. package/src/api/utilities/AlignUtilities.ts +2 -1
  319. package/src/api/utilities/GeometryUtilities.ts +2 -0
  320. package/src/api/window/WindowManager.ts +23 -3
  321. package/src/core/rendering/ARenderer.ts +24 -15
  322. package/src/core/rendering/vertex-buffer-layout.ts +32 -1
  323. package/src/index.ts +0 -1
  324. package/src/main.ts +2 -4
  325. package/src/webgl/WebGLGraphicsDeviceFeatures.ts +12 -2
  326. package/src/webgl/WebGlGpuInfo.ts +1 -1
  327. package/src/webgl/WebGlGraphicsDevice.ts +0 -1
  328. package/src/webgl/WebGlRenderer.ts +2 -5
  329. package/src/webgl/lights/WebGlAmbientLightFactory.ts +35 -0
  330. package/src/webgl/lights/WebGlLightsBuffer.ts +225 -0
  331. package/src/webgl/render-pipelines/AWebGlRenderPipeline.ts +7 -1
  332. package/src/webgl/render-pipelines/WebGlMainRenderTargetRenderPipeline.ts +21 -1
  333. package/src/webgl/render-pipelines/WebGlRenderPipelineFactory.ts +24 -2
  334. package/src/webgl/render-pipelines/inspect/WebGlInspectTextureMipsRenderPipeline.ts +16 -6
  335. package/src/webgl/render-pipelines/material/WebGlBlinnPhongRenderPipeline.ts +300 -0
  336. package/src/webgl/render-pipelines/material/WebGlUnlitRenderPipeline.ts +16 -6
  337. package/src/webgl/render-pipelines/sprite/WebGlSpriteRenderPipeline.ts +11 -7
  338. package/src/webgl/shader/WebGlShaderModule.ts +11 -4
  339. package/src/webgl/shader/WebGlShaderModuleLoader.ts +29 -10
  340. package/src/webgl/swap-chain/WebGlSwapChain.ts +7 -6
  341. package/src/webgl/texture/WebGlTexture2D.ts +19 -5
  342. package/src/webgl/texture/WebGlTextureFactory.ts +49 -7
  343. package/src/webgl/utilities/WebGlConstants.ts +136 -0
  344. package/src/webgl/utilities/WebGlConverter.ts +91 -22
  345. package/src/webgl/utilities/WebGlErrorUtilities.ts +15 -0
  346. package/src/webgl/utilities/WebGlTextureUtilities.ts +5 -2
  347. package/src/webgl/utilities/WebGlUtilities.ts +4 -0
  348. package/src/webgl/utilities/webgl-filter-anisotropic-utilities.ts +9 -6
  349. package/src/webgpu/WebGpuGpuInfo.ts +61 -0
  350. package/src/webgpu/WebGpuGraphicsDevice.ts +199 -0
  351. package/src/webgpu/WebGpuGraphicsDeviceFeatures.ts +41 -0
  352. package/src/webgpu/WebGpuRenderer.ts +49 -0
  353. package/src/webgpu/WebGpuTypes.ts +288 -0
  354. package/src/webgpu/blending/WebGpuBlendState.ts +53 -0
  355. package/src/webgpu/buffers/WebGpuBuffersFactory.ts +46 -0
  356. package/src/webgpu/buffers/WebGpuIndexBuffer.ts +118 -0
  357. package/src/webgpu/buffers/WebGpuUniformBuffer.ts +102 -0
  358. package/src/webgpu/buffers/WebGpuVertexBuffer.ts +119 -0
  359. package/src/webgpu/primitive/WebGpuPrimitiveState.ts +52 -0
  360. package/src/webgpu/render-pass/WebGpuRenderPass.ts +131 -0
  361. package/src/webgpu/render-pipelines/AWebGpuRenderPipeline.ts +123 -0
  362. package/src/webgpu/render-pipelines/WebGpuMainRenderTargetRenderPipeline.ts +119 -0
  363. package/src/webgpu/render-pipelines/WebGpuRenderPipelineFactory.ts +66 -0
  364. package/src/webgpu/render-pipelines/material/AWebGpuMeshRenderPipeline.ts +249 -0
  365. package/src/webgpu/render-pipelines/material/WebGpuUnlitRenderPipeline.ts +101 -0
  366. package/src/webgpu/sampler/WebGpuSampler.ts +84 -0
  367. package/src/webgpu/shader/WebGpuShaderModule.ts +65 -0
  368. package/src/webgpu/shader/WebGpuShaderModuleLoader.ts +38 -0
  369. package/src/webgpu/shader/WgslShaderContent.ts +20 -0
  370. package/src/webgpu/swap-chain/WebGpuSwapChain.ts +93 -0
  371. package/src/webgpu/texture/WebGpuTexture2D.ts +197 -0
  372. package/src/webgpu/texture/WebGpuTextureFactory.ts +118 -0
  373. package/src/webgpu/texture/WebGpuTextureView.ts +43 -0
  374. package/src/webgpu/utilities/WebGpuConverter.ts +299 -0
  375. package/src/wgsl-raw.d.ts +4 -0
  376. package/dist/api/FrameworkConfiguration.d.ts +0 -23
  377. package/dist/api/FrameworkConfiguration.d.ts.map +0 -1
  378. package/dist/api/IFrameworkConfiguration.d.ts +0 -25
  379. package/dist/api/IFrameworkConfiguration.d.ts.map +0 -1
  380. package/dist/api/shader/shader-loader.d.ts.map +0 -1
  381. package/src/api/FrameworkConfiguration.ts +0 -29
  382. package/src/api/IFrameworkConfiguration.ts +0 -30
  383. /package/src/api/shader/{shader-loader.ts → ShaderLoader.ts} +0 -0
@@ -6,8 +6,11 @@ export interface IShaderModuleLoader {
6
6
  /**
7
7
  * Loads a shader module.
8
8
  * @param shaderModuleId - The shader module id.
9
+ * @param keyValueDictionary - If present, tries to find key in shader such that it replaced ##DIRECTIONAL_LIGHT_COUNT## by given value for key DIRECTIONAL_LIGHST_COUNT.
9
10
  * @returns The shader module.
10
11
  */
11
- load(shaderModuleId: string): IShaderModule;
12
+ load(shaderModuleId: string, keyValueDictionary?: {
13
+ [id: string]: number;
14
+ }): IShaderModule;
12
15
  }
13
16
  //# sourceMappingURL=IShaderModuleLoader.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"IShaderModuleLoader.d.ts","sourceRoot":"","sources":["../../../src/api/shader/IShaderModuleLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAEpC;;;;OAIG;IACD,IAAI,CAAC,cAAc,EAAE,MAAM,GAAG,aAAa,CAAC;CAE7C"}
1
+ {"version":3,"file":"IShaderModuleLoader.d.ts","sourceRoot":"","sources":["../../../src/api/shader/IShaderModuleLoader.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,oBAAoB,CAAC;AAExD;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAEpC;;;;;OAKG;IACD,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,kBAAkB,CAAC,EAAE;QAAC,CAAC,EAAE,EAAC,MAAM,GAAG,MAAM,CAAA;KAAC,GAAG,aAAa,CAAC;CAEzF"}
@@ -9,4 +9,4 @@ export declare class ShaderLoader {
9
9
  */
10
10
  load(shaderFilePath: string, renderingBackend: RenderingBackend, stages: ShaderStage[]): Promise<string>;
11
11
  }
12
- //# sourceMappingURL=shader-loader.d.ts.map
12
+ //# sourceMappingURL=ShaderLoader.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ShaderLoader.d.ts","sourceRoot":"","sources":["../../../src/api/shader/ShaderLoader.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAE,KAAK,WAAW,EAAC,MAAM,aAAa,CAAC;AAE/D,qBAAa,YAAY;IAErB;;;;;;OAMG;IACU,IAAI,CAAC,cAAc,EAAE,MAAM,EAAE,gBAAgB,EAAE,gBAAgB,EAAE,MAAM,EAAE,WAAW,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAexH"}
@@ -9,7 +9,7 @@ export declare class SpriteBatchDrawable implements IDisposable {
9
9
  private readonly _sampler;
10
10
  private _maxBatchSize;
11
11
  private _drawingMesh;
12
- private _renderPipeline;
12
+ private _material;
13
13
  private _needsResize;
14
14
  private _fromInstance;
15
15
  private _toInstance;
@@ -1 +1 @@
1
- {"version":3,"file":"SpriteBatchDrawable.d.ts","sourceRoot":"","sources":["../../../src/api/sprites/SpriteBatchDrawable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EAEV,UAAU,EACV,cAAc,EACd,KAAK,EACL,WAAW,EAAE,QAAQ,EACxB,MAAM,aAAa,CAAC;AAErB,OAAO,KAAK,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAE1C;;GAEG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IAEnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,eAAe,CAAgC;IAEvD,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,WAAW,CAAK;IAExB;;;;;;;OAOG;gBAEC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,QAAQ,EACjB,oBAAoB,EAAE,cAAc,EACpC,YAAY,EAAE,MAAM;IAQxB;;OAEG;IACH,SAAgB,oBAAoB,EAAE,cAAc,CAAC;IAErD,8BAA8B;IACvB,UAAU,IAAI,IAAI;IAWzB;;OAEG;IACI,KAAK,IAAI,IAAI;IAMpB;;;;;;;;;;;OAWG;IACI,WAAW,CACd,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EACxC,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAC9B,KAAK,UAAQ,GACd,IAAI;IAaP,qBAAqB;IACd,IAAI,IAAI,IAAI;IAuBnB;;OAEG;IACI,QAAQ,IAAI,IAAI;IASvB,kBAAkB;IACX,OAAO,IAAI,IAAI;CAIzB"}
1
+ {"version":3,"file":"SpriteBatchDrawable.d.ts","sourceRoot":"","sources":["../../../src/api/sprites/SpriteBatchDrawable.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACR,UAAU,EACV,UAAU,EACV,cAAc,EACd,KAAK,EACL,WAAW,EAAE,QAAQ,EACxB,MAAM,aAAa,CAAC;AAGrB,OAAO,KAAK,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAE1C;;GAEG;AACH,qBAAa,mBAAoB,YAAW,WAAW;IAEnD,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;IACxC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAa;IACtC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAW;IACpC,OAAO,CAAC,aAAa,CAAS;IAC9B,OAAO,CAAC,YAAY,CAA0B;IAC9C,OAAO,CAAC,SAAS,CAAyB;IAE1C,OAAO,CAAC,YAAY,CAAS;IAE7B,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,WAAW,CAAK;IAExB;;;;;;;OAOG;gBAEC,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,OAAO,EAAE,QAAQ,EACjB,oBAAoB,EAAE,cAAc,EACpC,YAAY,EAAE,MAAM;IAQxB;;OAEG;IACH,SAAgB,oBAAoB,EAAE,cAAc,CAAC;IAErD,8BAA8B;IACvB,UAAU,IAAI,IAAI;IAWzB;;OAEG;IACI,KAAK,IAAI,IAAI;IAMpB;;;;;;;;;;;OAWG;IACI,WAAW,CACd,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EACxC,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAC9B,KAAK,UAAQ,GACd,IAAI;IAaP,qBAAqB;IACd,IAAI,IAAI,IAAI;IAmBnB;;OAEG;IACI,QAAQ,IAAI,IAAI;IASvB,kBAAkB;IACX,OAAO,IAAI,IAAI;CAIzB"}
@@ -1,5 +1,6 @@
1
1
  import type { vec2, vec3 } from "gl-matrix";
2
2
  import { type Color, type IFramework, Mesh } from "../index.js";
3
+ import type { SpriteMaterial } from "../material/SpriteMaterial.js";
3
4
  /**
4
5
  * The sprite batch mesh.
5
6
  */
@@ -11,13 +12,25 @@ export declare class SpriteBatchMesh extends Mesh {
11
12
  static readonly TOTAL_FLOATS_PER_VERTEX = 9;
12
13
  /** The total number of floats in a sprite. 4 for each vertex * 9 floats per vertex (xyz rgba uv). */
13
14
  static readonly TOTAL_FLOATS_IN_SPRITE: number;
15
+ private readonly _spriteMaterial;
14
16
  private _maxInstances;
15
17
  private _lastIndex;
18
+ /** The offset of the first index to draw. Defaults to 0. */
19
+ indicesOffset: number;
20
+ /** The number of indices to draw. If -1 draws all indices. */
21
+ indicesCount: number;
16
22
  /**
17
23
  * The constructor for the batch sprite mesh.
24
+ * @param framework - The framework.
25
+ * @param material - The material.
26
+ * @param numberOfInstances - The number of instances.
18
27
  */
19
- constructor(framework: IFramework, numberOfInstances: number);
28
+ constructor(framework: IFramework, material: SpriteMaterial, numberOfInstances: number);
20
29
  private _setupIndices;
30
+ /**
31
+ * Draws the mesh with its sprite material, using {@link indicesCount} and {@link indicesOffset}.
32
+ */
33
+ draw(): void;
21
34
  /** The maximum number of instances that can be batched. */
22
35
  get maxInstances(): number;
23
36
  /** @inheritDoc */
@@ -1 +1 @@
1
- {"version":3,"file":"SpriteBatchMesh.d.ts","sourceRoot":"","sources":["../../../src/api/sprites/SpriteBatchMesh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,IAAI,EAAC,MAAM,aAAa,CAAC;AAE3E;;GAEG;AACH,qBAAa,eAAgB,SAAQ,IAAI;IAErC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,uBAAuB,KAAK;IAE5C,qGAAqG;IACrG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,SAAoC;IAE1E,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAM;IAExB;;OAEG;gBACgB,SAAS,EAAE,UAAU,EAAE,iBAAiB,EAAE,MAAM;IASnE,OAAO,CAAC,aAAa;IAkBrB,2DAA2D;IAC3D,IAAW,YAAY,WAEtB;IAED,kBAAkB;IACF,UAAU,IAAI,IAAI;IAalC,wEAAwE;IACjE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA8BpC,kBAAkB;IACX,WAAW,CACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EACxC,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,KAAK,UAAQ;IAgIjD,kBAAkB;IACF,YAAY,IAAI,IAAI;CAavC"}
1
+ {"version":3,"file":"SpriteBatchMesh.d.ts","sourceRoot":"","sources":["../../../src/api/sprites/SpriteBatchMesh.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAC,IAAI,EAAE,IAAI,EAAC,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAc,KAAK,KAAK,EAAE,KAAK,UAAU,EAAE,IAAI,EAAC,MAAM,aAAa,CAAC;AAC3E,OAAO,KAAK,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAElE;;GAEG;AACH,qBAAa,eAAgB,SAAQ,IAAI;IAErC;;;OAGG;IACH,MAAM,CAAC,QAAQ,CAAC,uBAAuB,KAAK;IAE5C,qGAAqG;IACrG,MAAM,CAAC,QAAQ,CAAC,sBAAsB,SAAoC;IAE1E,OAAO,CAAC,QAAQ,CAAC,eAAe,CAAiB;IACjD,OAAO,CAAC,aAAa,CAAK;IAC1B,OAAO,CAAC,UAAU,CAAM;IAExB,4DAA4D;IACrD,aAAa,SAAK;IAEzB,8DAA8D;IACvD,YAAY,SAAM;IAEzB;;;;;OAKG;gBACgB,SAAS,EAAE,UAAU,EAAE,QAAQ,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM;IAW7F,OAAO,CAAC,aAAa;IAkBrB;;OAEG;IACI,IAAI,IAAI,IAAI;IAInB,2DAA2D;IAC3D,IAAW,YAAY,WAEtB;IAED,kBAAkB;IACF,UAAU,IAAI,IAAI;IAalC,wEAAwE;IACjE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI;IA8BpC,kBAAkB;IACX,WAAW,CACd,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,KAAK,EACxC,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,EAAE,SAAI,EAAE,KAAK,UAAQ;IAgIjD,kBAAkB;IACF,YAAY,IAAI,IAAI;CAYvC"}
@@ -1 +1 @@
1
- {"version":3,"file":"AlignUtilities.d.ts","sourceRoot":"","sources":["../../../src/api/utilities/AlignUtilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,cAAc;IAEvB;;;;;OAKG;WACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAI7D;;;;;OAKG;WACW,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;CAgB3F"}
1
+ {"version":3,"file":"AlignUtilities.d.ts","sourceRoot":"","sources":["../../../src/api/utilities/AlignUtilities.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,qBAAa,cAAc;IAEvB;;;;;OAKG;WACW,KAAK,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM;IAK7D;;;;;OAKG;WACW,UAAU,CAAC,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC,MAAM,CAAC;CAgB3F"}
@@ -1 +1 @@
1
- {"version":3,"file":"GeometryUtilities.d.ts","sourceRoot":"","sources":["../../../src/api/utilities/GeometryUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAE7D;;GAEG;AACH,qBAAa,iBAAiB;IAC1B;;;;OAIG;WACW,MAAM,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM;CAQ/D"}
1
+ {"version":3,"file":"GeometryUtilities.d.ts","sourceRoot":"","sources":["../../../src/api/utilities/GeometryUtilities.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,cAAc,EAAC,MAAM,+BAA+B,CAAC;AAE7D;;GAEG;AACH,qBAAa,iBAAiB;IAC1B;;;;OAIG;WACW,MAAM,CAAC,cAAc,EAAE,cAAc,GAAG,MAAM;CAU/D"}
@@ -7,6 +7,9 @@ export declare class WindowManager implements IWindowManager {
7
7
  private readonly _canvas;
8
8
  private readonly _updateCallbacks;
9
9
  private readonly _renderCallbacks;
10
+ private readonly _ownsCanvas;
11
+ private _animationFrame;
12
+ private _disposed;
10
13
  /**
11
14
  * The constructor for the WindowManager class.
12
15
  * @param canvas An optional HTMLCanvasElement to associate with the window manager. If `null`, the window manager creates its own canvas and appends it to `document.body`.
@@ -23,6 +26,7 @@ export declare class WindowManager implements IWindowManager {
23
26
  removeOnResizeListener(_event: (arg1: IWindowManager, arg2: vec2) => void): void;
24
27
  initializeForWebGPU(): void;
25
28
  initializeForWebGl(): void;
29
+ /** Stops the event loop, drops all callbacks and removes the canvas when this manager created it. */
26
30
  dispose(): void;
27
31
  /** @inheritdoc */
28
32
  runEventLoop(): void;
@@ -1 +1 @@
1
- {"version":3,"file":"WindowManager.d.ts","sourceRoot":"","sources":["../../../src/api/window/WindowManager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAC,YAAY,EAAE,KAAK,cAAc,EAAC,MAAM,aAAa,CAAC;AAE9D;;GAEG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAE1D;;;OAGG;gBACgB,MAAM,GAAE,iBAAiB,GAAG,IAAW;IAO1D,eAAe,UAAQ;IACrB,YAAY,eAAsB;IAClC,KAAK,SAAM;IACX,iBAAiB,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;IAG1C,oBAAoB,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;IAM7C,iBAAiB,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;IAG1C,oBAAoB,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;IAM7C,mBAAmB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAG7E,sBAAsB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAGhF,mBAAmB,IAAI,IAAI;IAG3B,kBAAkB,IAAI,IAAI;IAG1B,OAAO,IAAI,IAAI;IAIjB,kBAAkB;IAClB,YAAY,IAAI,IAAI;IAWpB,kBAAkB;IAClB,IAAW,MAAM,IAAI,iBAAiB,CAErC;CACF"}
1
+ {"version":3,"file":"WindowManager.d.ts","sourceRoot":"","sources":["../../../src/api/window/WindowManager.ts"],"names":[],"mappings":"AAAI,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAC,YAAY,EAAE,KAAK,cAAc,EAAC,MAAM,aAAa,CAAC;AAE9D;;GAEG;AACH,qBAAa,aAAc,YAAW,cAAc;IAClD,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAoB;IAC5C,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,gBAAgB,CAAyB;IAC1D,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAU;IACtC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,SAAS,CAAS;IAE1B;;;OAGG;gBACgB,MAAM,GAAE,iBAAiB,GAAG,IAAW;IAQ1D,eAAe,UAAQ;IACrB,YAAY,eAAsB;IAClC,KAAK,SAAM;IACX,iBAAiB,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;IAG1C,oBAAoB,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;IAM7C,iBAAiB,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;IAG1C,oBAAoB,CAAC,KAAK,EAAE,MAAM,IAAI,GAAG,IAAI;IAM7C,mBAAmB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAG7E,sBAAsB,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,IAAI,KAAK,IAAI,GAAG,IAAI;IAGhF,mBAAmB,IAAI,IAAI;IAG3B,kBAAkB,IAAI,IAAI;IAG1B,qGAAqG;IACrG,OAAO,IAAI,IAAI;IAgBjB,kBAAkB;IAClB,YAAY,IAAI,IAAI;IAcpB,kBAAkB;IAClB,IAAW,MAAM,IAAI,iBAAiB,CAErC;CACF"}
@@ -1,8 +1,7 @@
1
1
  import type { ITempRenderer } from "../../api/rendering/renderer-interface.js";
2
2
  import type { vec2 } from "gl-matrix";
3
3
  import type { RenderingLimits } from "../../api/rendering/rendering-limits.js";
4
- import { type IFramework, type IGraphicsDevice, type IMainRenderTargetRenderPipeline, type IRenderPass, type ISwapChain, type ITexture2D, RenderingBackend } from "../../api/index.js";
5
- import { TextureFormat, Color } from "../../api/index.js";
4
+ import { Color, type IFramework, type IGraphicsDevice, type IMainRenderTargetRenderPipeline, type IRendererConfiguration, type IRenderPass, type ISwapChain, type ITexture2D, RenderingBackend, TextureFormat } from "../../api/index.js";
6
5
  export declare abstract class ARenderer implements ITempRenderer {
7
6
  protected readonly _framework: IFramework;
8
7
  /**
@@ -11,7 +10,6 @@ export declare abstract class ARenderer implements ITempRenderer {
11
10
  protected _resizeListeners: ((sender: any, size: vec2) => void)[];
12
11
  private readonly _windowManager;
13
12
  private _graphicsDevice;
14
- private _preferredTextureFormat;
15
13
  private _preferredDepthStencilFormat;
16
14
  private readonly _currentBackBufferSize;
17
15
  private _swapChainRequiresResize;
@@ -24,6 +22,7 @@ export declare abstract class ARenderer implements ITempRenderer {
24
22
  protected _swapChainRenderPass: IRenderPass;
25
23
  protected _mainRenderTargetRenderPass?: IRenderPass;
26
24
  protected _mainRenderTargetPipeline?: IMainRenderTargetRenderPipeline;
25
+ protected _renderConfiguration: IRendererConfiguration;
27
26
  /** @inheritdoc */
28
27
  get graphicsDevice(): IGraphicsDevice;
29
28
  /** @inheritdoc */
@@ -32,7 +31,7 @@ export declare abstract class ARenderer implements ITempRenderer {
32
31
  set clearColor(color: Color);
33
32
  get limits(): RenderingLimits | null;
34
33
  /** @inheritdoc */
35
- get preferredTextureFormat(): TextureFormat;
34
+ readonly preferredTextureFormat: TextureFormat;
36
35
  /** @inheritdoc */
37
36
  get preferredDepthStencilFormat(): TextureFormat;
38
37
  /** @inheritdoc */
@@ -44,8 +43,9 @@ export declare abstract class ARenderer implements ITempRenderer {
44
43
  /**
45
44
  * The constructor.
46
45
  * @param framework The framework.
46
+ * @param configuration The renderer configuration.
47
47
  */
48
- constructor(framework: IFramework);
48
+ protected constructor(framework: IFramework, configuration: IRendererConfiguration);
49
49
  backend: RenderingBackend;
50
50
  /** @inheritDoc */
51
51
  addOnResizedListener(event: (sender: any, e: vec2) => void): void;
@@ -1 +1 @@
1
- {"version":3,"file":"ARenderer.d.ts","sourceRoot":"","sources":["../../../src/core/rendering/ARenderer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ARenderer.d.ts","sourceRoot":"","sources":["../../../src/core/rendering/ARenderer.ts"],"names":[],"mappings":"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"}
@@ -18,5 +18,6 @@ export declare class VertexBufferLayout implements IVertexBufferLayout {
18
18
  constructor(arrayStride: number, stepMode: VertexStepMode, attributes: VertexAttribute[]);
19
19
  static createFloat3Float2Layout(): VertexBufferLayout;
20
20
  static createFloat3Float4Float2Layout(): VertexBufferLayout;
21
+ static createFloat3Float4Float2Float3Layout(): VertexBufferLayout;
21
22
  }
22
23
  //# sourceMappingURL=vertex-buffer-layout.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vertex-buffer-layout.d.ts","sourceRoot":"","sources":["../../../src/core/rendering/vertex-buffer-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAGlG;;GAEG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC1D;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,eAAe,EAAE,CAAM;gBAG/B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,eAAe,EAAE;IAWjC,MAAM,CAAC,wBAAwB,IAAI,kBAAkB;IAqBrD,MAAM,CAAC,8BAA8B,IAAI,kBAAkB;CAyB9D"}
1
+ {"version":3,"file":"vertex-buffer-layout.d.ts","sourceRoot":"","sources":["../../../src/core/rendering/vertex-buffer-layout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,KAAK,mBAAmB,EAAE,KAAK,eAAe,EAAE,cAAc,EAAC,MAAM,oBAAoB,CAAC;AAGlG;;GAEG;AACH,qBAAa,kBAAmB,YAAW,mBAAmB;IAC1D;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IAEpB;;OAEG;IACH,QAAQ,EAAE,cAAc,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,eAAe,EAAE,CAAM;gBAG/B,WAAW,EAAE,MAAM,EACnB,QAAQ,EAAE,cAAc,EACxB,UAAU,EAAE,eAAe,EAAE;IAWjC,MAAM,CAAC,wBAAwB,IAAI,kBAAkB;IAqBrD,MAAM,CAAC,8BAA8B,IAAI,kBAAkB;IA0B3D,MAAM,CAAC,oCAAoC,IAAI,kBAAkB;CA8BpE"}
package/dist/index.d.ts CHANGED
@@ -1,5 +1,4 @@
1
1
  export { Framework } from "./Framework.js";
2
- export { FrameworkConfiguration } from "./api/FrameworkConfiguration.js";
3
2
  export { TextureSamplerFilteringPreset } from "./core/rendering/enums.js";
4
3
  export * from "./api/index.js";
5
4
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,sBAAsB,EAAC,MAAM,iCAAiC,CAAC;AACvE,OAAO,EAAC,6BAA6B,EAAC,MAAM,2BAA2B,CAAC;AACxE,cAAc,gBAAgB,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,SAAS,EAAC,MAAM,gBAAgB,CAAC;AACzC,OAAO,EAAC,6BAA6B,EAAC,MAAM,2BAA2B,CAAC;AACxE,cAAc,gBAAgB,CAAC"}