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
@@ -0,0 +1,66 @@
1
+ import type { ITexture2D } from "../texture/ITexture2D.ts";
2
+ import type { ISampler } from "../sampler/ISampler.ts";
3
+ import type { IRenderPipeline } from "./IRenderPipeline.ts";
4
+ import type { IUniformBuffer } from "../buffers/IUniformBuffer.ts";
5
+
6
+ /**
7
+ * The Blinn-Phong render pipeline with forward lighting.
8
+ */
9
+ export interface IForwardBlinnPhongRenderPipeline extends IRenderPipeline {
10
+
11
+ /**
12
+ * The diffuse texture.
13
+ */
14
+ diffuseTexture: ITexture2D;
15
+
16
+ /**
17
+ * The texture sampler.
18
+ */
19
+ diffuseTextureSampler?: ISampler;
20
+
21
+ /**
22
+ * The projection view uniform buffer.
23
+ * Contains a single matrix representing the projection view matrix.
24
+ */
25
+ projectionViewBuffer: IUniformBuffer;
26
+
27
+ /**
28
+ * The world matrix uniform buffer.
29
+ * Contains a single matrix representing the world matrix.
30
+ */
31
+ modelBuffer: IUniformBuffer;
32
+
33
+ /**
34
+ * The material buffer that contains the material properties.
35
+ * - vec3 ambientColor
36
+ * - vec3 diffuseColor
37
+ * - vec3 specularColor
38
+ * - float shininess
39
+ */
40
+ materialBuffer: IUniformBuffer;
41
+
42
+ /** The camera position buffer: std140 `vec3` world-space eye, e.g. `camera.positionBuffer`. */
43
+ cameraPositionBuffer: IUniformBuffer;
44
+
45
+ /**
46
+ * The lights buffer, `LightsBuffer.buffer`, bound to the shader's `LightsBuffer` block.
47
+ * - vec3 ambientLight
48
+ * - DirectionalLight[DIRECTIONAL_LIGHTS_COUNT] { vec3 light; vec3 direction; }
49
+ * - PointLight[POINT_LIGHTS_COUNT] { vec3 light; float constant; vec3 position; float linear; float quadratic; }
50
+ */
51
+ lightsBuffer: IUniformBuffer;
52
+
53
+ /** The directional light slots the shader was compiled with. */
54
+ readonly maxDirectionalLights: number;
55
+
56
+ /** The point light slots the shader was compiled with. */
57
+ readonly maxPointLights: number;
58
+
59
+ /**
60
+ * Sets the light slot counts. They must match the lights buffer (`LightsBuffer.maxDirectionalLights`/`maxPointLights`).
61
+ * When they change after initialization the shader variant for the new counts is loaded.
62
+ * @param maxDirectionalLights The directional light slots.
63
+ * @param maxPointLights The point light slots.
64
+ */
65
+ setLightCounts(maxDirectionalLights: number, maxPointLights: number): void;
66
+ }
@@ -4,6 +4,7 @@ import type { IPrimitiveState } from "../primitive/IPrimitiveState.ts";
4
4
  import type { IVertexBufferLayout } from "../buffers/IVertexBufferLayout.ts";
5
5
  import type { IIndexBuffer } from "../buffers/IIndexBuffer.ts";
6
6
  import type { IVertexBuffer } from "../buffers/IVertexBuffer.ts";
7
+ import type { GeometryFormat } from "../../geometry/GeometryFormat.ts";
7
8
 
8
9
  /**
9
10
  * The render pipeline interface.
@@ -27,6 +28,9 @@ export interface IRenderPipeline extends IDisposable {
27
28
  */
28
29
  readonly vertexBufferLayouts: IVertexBufferLayout[];
29
30
 
31
+ /** The geometry format required by the render pipeline. */
32
+ readonly geometryFormat: GeometryFormat;
33
+
30
34
  /**
31
35
  * Initializes the render pipeline.
32
36
  * This method is called by the renderer when the pipeline is added to the renderer.
@@ -5,6 +5,38 @@ import type { ISpriteRenderPipeline } from "./ISpriteRenderPipeline.ts";
5
5
  import type { IInspectTextureMipsRenderPipeline } from "./IInspectTextureMipsRenderPipeline.ts";
6
6
  import type { IUnlitRenderPipeline } from "./IUnlitRenderPipeline.ts";
7
7
  import type { IPrimitiveState } from "../primitive/IPrimitiveState.ts";
8
+ import type { IForwardBlinnPhongRenderPipeline } from "./IForwardBlinnPhongRenderPipeline.ts";
9
+
10
+ /** The descriptor for the forward Blinn-Phong render pipeline. */
11
+ export interface ForwardBlinnPhongRenderPipelineDescriptor {
12
+
13
+ /** The projection view buffer, e.g. `camera.projectionViewBuffer`. */
14
+ projectionViewBuffer: IUniformBuffer;
15
+
16
+ /** The world buffer. */
17
+ modelBuffer: IUniformBuffer;
18
+
19
+ /** The camera position buffer, e.g. `camera.positionBuffer`: std140 `vec3` world-space eye. */
20
+ cameraPositionBuffer: IUniformBuffer;
21
+
22
+ /** The material buffer (ambient and diffuse color). */
23
+ materialBuffer: IUniformBuffer;
24
+
25
+ /**
26
+ * The lights buffer, e.g. `lightsBuffer.buffer`.
27
+ * Optional: it can be set later through `pipeline.lightsBuffer`.
28
+ */
29
+ lightsBuffer?: IUniformBuffer;
30
+
31
+ /** Directional light slots to compile the shader with; must match the lights buffer. Defaults to `DEFAULT_DIRECTIONAL_LIGHTS_COUNT`. */
32
+ maxDirectionalLights?: number;
33
+
34
+ /** Point light slots to compile the shader with; must match the lights buffer. Defaults to `DEFAULT_POINT_LIGHTS_COUNT`. */
35
+ maxPointLights?: number;
36
+
37
+ /** The primitive state. */
38
+ primitiveState?: IPrimitiveState;
39
+ }
8
40
 
9
41
  /**
10
42
  * The pipeline factory.
@@ -49,4 +81,11 @@ export interface IRenderPipelineFactory {
49
81
  primitiveState?: IPrimitiveState
50
82
  ): IUnlitRenderPipeline;
51
83
 
84
+ /**
85
+ * Creates the forward Blinn-Phong render pipeline.
86
+ * @param descriptor - The buffers and primitive state for the pipeline.
87
+ * @returns The forward Blinn-Phong render pipeline.
88
+ */
89
+ createForwardBlinnPhongRenderPipeline(descriptor: ForwardBlinnPhongRenderPipelineDescriptor): IForwardBlinnPhongRenderPipeline;
90
+
52
91
  }
@@ -3,4 +3,5 @@ export * from "./IMainRenderTargetRenderPipeline.ts";
3
3
  export * from "./IRenderPipelineFactory.ts";
4
4
  export * from "./IRenderPipeline.ts";
5
5
  export * from "./IInspectTextureMipsRenderPipeline.ts"
6
- export * from "./IUnlitRenderPipeline.ts"
6
+ export * from "./IUnlitRenderPipeline.ts"
7
+ export * from "./IForwardBlinnPhongRenderPipeline.ts"
@@ -1,56 +1,21 @@
1
1
  import { vec2 } from "gl-matrix";
2
- import { TextureSamplerFilteringPreset } from "../../core/rendering/enums.ts";
3
2
  import type {RenderingLimits} from "./rendering-limits.ts";
4
- import type {Color, IGraphicsDevice, IRenderer} from "../index.ts";
3
+ import type { IRenderer} from "../index.ts";
5
4
  import type {TextureFormat} from "../index.ts";
6
- import {PowerPreferenceType} from "./PowerPreference.ts";
7
5
 
8
- export const RenderConfigurationSymbol = Symbol("RenderConfiguration");
9
6
 
10
- /**
11
- * The configuration for the renderer. This is used to initialize the renderer.
12
- * @internal
13
- */
14
- export interface IRendererConfiguration {
15
-
16
- /**The size of the main frame buffer. */
17
- backBufferSize: vec2;
18
7
 
19
- /** Should back buffer use alpha. */
20
- alpha: boolean;
21
-
22
- /** The preference when it comes to selecting GPU device. Only makes sense to set on multi-GPU devices. */
23
- powerPreference: PowerPreferenceType;
24
-
25
- /**
26
- * The preset for texture sampler filtering.
27
- * This is used to configure the default texture sampler in the graphics device.
28
- * The default texture sampler is used when a texture is sampled without a specific sampler being bound.
29
- */
30
- textureFiltering: TextureSamplerFilteringPreset;
31
- }
32
8
 
33
9
  /**
34
10
  * The interface for renderers.
35
11
  */
36
12
  export interface ITempRenderer extends IRenderer {
37
13
 
38
- /**
39
- * The clear color used by the renderer.
40
- */
41
- clearColor: Color
42
-
43
14
  /**
44
15
  * The rendering limits of the renderer.
45
16
  */
46
17
  limits: RenderingLimits | null;
47
18
 
48
- /**
49
- * The graphics device used by the renderer.
50
- * This is used to create resources and manage the rendering context.
51
- */
52
- readonly graphicsDevice: IGraphicsDevice;
53
-
54
19
  /**
55
20
  * The preferred texture format for the renderer.
56
21
  * @returns The preferred texture format for the renderer.
@@ -6,21 +6,17 @@ import {RenderPassColorAttachment} from "./RenderPassColorAttachment.ts";
6
6
  */
7
7
  export class RenderPassDescriptor {
8
8
 
9
- /**
10
- * The color attachments of the render pass.
11
- */
12
- public colorAttachments?: RenderPassColorAttachment[];
9
+ /** The color attachments of the render pass. */
10
+ public colorAttachments?: RenderPassColorAttachment[];
13
11
 
14
- /**
15
- * The depth-stencil attachment of the render pass.
16
- */
17
- public depthStencilAttachment?: RenderPassDepthStencilAttachment;
12
+ /** The depth-stencil attachment of the render pass. */
13
+ public depthStencilAttachment?: RenderPassDepthStencilAttachment;
18
14
 
19
- /**
20
- * The label of the render pass.
21
- * This is used for debugging purposes and can be set to any string that helps identify the render pass in graphics debuggers or profiling tools.
22
- * It does not affect the functionality of the render pass and can be left empty if not needed.
23
- */
24
- public label?: string;
15
+ /**
16
+ * The label of the render pass.
17
+ * This is used for debugging purposes and can be set to any string that helps identify the render pass in graphics debuggers or profiling tools.
18
+ * It does not affect the functionality of the render pass and can be left empty if not needed.
19
+ */
20
+ public label?: string;
25
21
 
26
22
  }
@@ -12,9 +12,7 @@ export interface ISwapChain extends IDisposable {
12
12
  */
13
13
  readonly backBufferSize: vec2;
14
14
 
15
- /**
16
- * The texture format of the back buffer.
17
- */
15
+ /** The texture format of the back buffer. */
18
16
  readonly textureFormat: TextureFormat;
19
17
 
20
18
  /**
@@ -6,53 +6,167 @@ export enum TextureFormat {
6
6
  * Default value.
7
7
  For unknown texture format.
8
8
  */
9
- UNDEFINED = 0,
9
+ UNDEFINED = "UNDEFINED",
10
10
 
11
11
  /**
12
12
  * Red, green, blue, and alpha channels.
13
13
  * 8-bit integer per channel.
14
14
  * [0, 255] converted to/from float [0, 1] in shader.
15
15
  * */
16
- RGBA_8_UNORM = 1,
16
+ RGBA_8_UNORM = "RGBA_8_UNORM",
17
17
 
18
18
  /**
19
19
  * Red, green, blue, and alpha channels.
20
20
  * 8-bit integer per channel.
21
21
  * Srgb-color [0, 255] converted to/from linear-color float [0, 1] in shader.
22
22
  */
23
- RGBA_8_UNORM_SRGB = 2,
23
+ RGBA_8_UNORM_SRGB = "RGBA_8_UNORM_SRGB",
24
24
 
25
25
  /**
26
26
  * Depth 24 and stencil 8.
27
27
  */
28
- DEPTH_24_STENCIL_8 = 3,
28
+ DEPTH_24_STENCIL_8 = "DEPTH_24_STENCIL_8",
29
29
 
30
30
  /**
31
31
  * The depth 32 float.
32
32
  */
33
- DEPTH_32_FLOAT = 4,
33
+ DEPTH_32_FLOAT = "DEPTH_32_FLOAT_8",
34
34
 
35
- RED_32_FLOAT = 5,
35
+ RED_32_FLOAT = "RED_32_FLOAT_8",
36
36
  /**
37
37
  * The 32-bit float format with one red component. It is typeless.
38
38
 
39
39
  Valid only for D3D11.
40
40
  */
41
- RED_32_TYPELESS = 6,
41
+ RED_32_TYPELESS = "RED_32_TYPELE_8",
42
42
  /**
43
43
  * The BC7 compressed format with four 8-bit normalized unsigned integer components in RGBA order.
44
44
  */
45
- BC7_RGBA_UNORM = 7,
45
+ BC7_RGBA_UNORM = "BC7_RGBA_UNORM",
46
46
  /**
47
47
  * The BC3 compressed format with four 8-bit normalized unsigned integer components in RGBA order.
48
48
  */
49
- BC3_RGBA_UNORM = 8,
49
+ BC3_RGBA_UNORM = "BC3_RGBA_UNORM",
50
50
  /**
51
51
  * The ETC2 compressed format with four 8-bit normalized unsigned integer components in RGBA order.
52
52
  */
53
- ETC2_RGBA8_UNORM = 9,
54
- /**
55
- * The ASTC 4x4 compressed format with four 8-bit normalized unsigned integer components in RGBA order.
56
- */
57
- ASTC_4X4_RGBA = 10
53
+ ETC2_RGBA8_UNORM = "ETC2_RGBA8_UNORM",
54
+
55
+ /** BC7 RGBA, sRGB. Requires EXT_texture_compression_bptc (WebGL) or texture-compression-bc (WebGPU). */
56
+ BC7_RGBA_SRGB = "BC7_RGBA_SRGB",
57
+
58
+ /** BC3 (DXT5) RGBA, sRGB. Requires WEBGL_compressed_texture_s3tc_srgb (WebGL) or texture-compression-bc (WebGPU). */
59
+ BC3_RGBA_SRGB = "BC3_RGBA_SRGB",
60
+
61
+ /** BC1 (DXT1) RGB. Requires WEBGL_compressed_texture_s3tc (WebGL) or texture-compression-bc (WebGPU). */
62
+ BC1_RGB_UNORM = "BC1_RGB_UNORM",
63
+
64
+ /** BC1 (DXT1) RGB, sRGB. Requires WEBGL_compressed_texture_s3tc_srgb (WebGL). WebGPU only has BC1 RGBA, which is used instead. */
65
+ BC1_RGB_SRGB = "BC1_RGB_SRGB",
66
+
67
+ /** ETC2 RGBA8 with EAC alpha, sRGB. Requires WEBGL_compressed_texture_etc (WebGL) or texture-compression-etc2 (WebGPU). */
68
+ ETC2_RGBA8_SRGB = "ETC2_RGBA8_SRGB",
69
+
70
+ /** ETC2 RGB8. Requires WEBGL_compressed_texture_etc (WebGL) or texture-compression-etc2 (WebGPU). */
71
+ ETC2_RGB8_UNORM = "ETC2_RGB8_UNORM",
72
+
73
+ /** ETC2 RGB8, sRGB. Requires WEBGL_compressed_texture_etc (WebGL) or texture-compression-etc2 (WebGPU). */
74
+ ETC2_RGB8_SRGB = "ETC2_RGB8_SRGB",
75
+
76
+
77
+ /** The ASTC 4x4 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
78
+ ASTC_4X4_RGBA_UNORM = "ASTC_4X4_RGBA_UNORM",
79
+
80
+ /** The ASTC 4x4 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
81
+ ASTC_4X4_RGBA_SRGB = "ASTC_4X4_RGBA_SRGB",
82
+
83
+ /** The ASTC 5x4 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
84
+ ASTC_5X4_RGBA_UNORM = "ASTC_5X4_RGBA_UNORM",
85
+
86
+ /** The ASTC 5x4 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
87
+ ASTC_5X4_RGBA_SRGB = "ASTC_5X4_RGBA_SRGB",
88
+
89
+ /** The ASTC 5x5 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
90
+ ASTC_5X5_RGBA_UNORM = "ASTC_5X5_RGBA_UNORM",
91
+
92
+ /** The ASTC 5x5 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
93
+ ASTC_5X5_RGBA_SRGB = "ASTC_5X5_RGBA_SRGB",
94
+
95
+ /** The ASTC 6x5 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
96
+ ASTC_6X5_RGBA_UNORM = "ASTC_6X5_RGBA_UNORM",
97
+
98
+ /** The ASTC 6x5 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
99
+ ASTC_6X5_RGBA_SRGB = "ASTC_6X5_RGBA_SRGB",
100
+
101
+ /** The ASTC 6x6 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
102
+ ASTC_6X6_RGBA_UNORM = "ASTC_6X6_RGBA_UNORM",
103
+
104
+ /** The ASTC 6x6 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
105
+ ASTC_6X6_RGBA_SRGB = "ASTC_6X6_RGBA_SRGB",
106
+
107
+ /** The ASTC 8x5 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
108
+ ASTC_8X5_RGBA_UNORM = "ASTC_8X5_RGBA_UNORM",
109
+
110
+ /** The ASTC 8x5 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
111
+ ASTC_8X5_RGBA_SRGB = "ASTC_8X5_RGBA_SRGB",
112
+
113
+ /** The ASTC 8x6 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
114
+ ASTC_8X6_RGBA_UNORM = "ASTC_8X6_RGBA_UNORM",
115
+
116
+ /** The ASTC 8x6 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
117
+ ASTC_8X6_RGBA_SRGB = "ASTC_8X6_RGBA_SRGB",
118
+
119
+ /** The ASTC 8x8 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
120
+ ASTC_8X8_RGBA_UNORM = "ASTC_8X8_RGBA_UNORM",
121
+
122
+ /** The ASTC 8x8 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
123
+ ASTC_8X8_RGBA_SRGB = "ASTC_8X8_RGBA_SRGB",
124
+
125
+ /** The ASTC 10x5 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
126
+ ASTC_10X5_RGBA_UNORM = "ASTC_10X5_RGBA_UNORM",
127
+
128
+ /** The ASTC 10x5 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
129
+ ASTC_10X5_RGBA_SRGB = "ASTC_10X5_RGBA_SRGB",
130
+
131
+ /** The ASTC 10x6 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
132
+ ASTC_10X6_RGBA_UNORM = "ASTC_10X6_RGBA_UNORM",
133
+
134
+ /** The ASTC 10x6 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
135
+ ASTC_10X6_RGBA_SRGB = "ASTC_10X6_RGBA_SRGB",
136
+
137
+ /** The ASTC 10x8 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
138
+ ASTC_10X8_RGBA_UNORM = "ASTC_10X8_RGBA_UNORM",
139
+
140
+ /** The ASTC 10x8 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
141
+ ASTC_10X8_RGBA_SRGB = "ASTC_10X8_RGBA_SRGB",
142
+
143
+ /** The ASTC 10x10 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
144
+ ASTC_10X10_RGBA_UNORM = "ASTC_10X10_RGBA_UNORM",
145
+
146
+ /** The ASTC 10x10 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
147
+ ASTC_10X10_RGBA_SRGB = "ASTC_10X10_RGBA_SRGB",
148
+
149
+ /** The ASTC 12x10 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
150
+ ASTC_12X10_RGBA_UNORM = "ASTC_12X10_RGBA_UNORM",
151
+
152
+ /** The ASTC 12x10 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
153
+ ASTC_12X10_RGBA_SRGB = "ASTC_12X10_RGBA_SRGB",
154
+
155
+ /** The ASTC 12x12 compressed format with four 8-bit normalized unsigned integer components in RGBA order. */
156
+ ASTC_12X12_RGBA_UNORM = "ASTC_12X12_RGBA_UNORM",
157
+
158
+ /** The ASTC 12x12 compressed format with four 8-bit normalized unsigned integer components in RGBA order, sRGB-encoded color. */
159
+ ASTC_12X12_RGBA_SRGB = "ASTC_12X12_RGBA_SRGB",
160
+
161
+ /** The PVRTC1 compressed format at 4 bits per pixel with RGBA components. Requires WEBGL_compressed_texture_pvrtc. */
162
+ PVRTC_4BPPV1_RGBA = "PVRTC_4BPPV1_RGBA",
163
+
164
+ /** The PVRTC1 compressed format at 4 bits per pixel with RGB components. Requires WEBGL_compressed_texture_pvrtc. */
165
+ PVRTC_4BPPV1_RGB = "PVRTC_4BPPV1_RGB",
166
+
167
+ /** The PVRTC1 compressed format at 2 bits per pixel with RGBA components. Requires WEBGL_compressed_texture_pvrtc. */
168
+ PVRTC_2BPPV1_RGBA = "PVRTC_2BPPV1_RGBA",
169
+
170
+ /** The PVRTC1 compressed format at 2 bits per pixel with RGB components. Requires WEBGL_compressed_texture_pvrtc. */
171
+ PVRTC_2BPPV1_RGB = "PVRTC_2BPPV1_RGB",
58
172
  }