├── .github ├── FUNDING.yml ├── codeql │ └── codeql-config.yml └── workflows │ ├── codeql.yml │ ├── docs.yml │ ├── eslint.yml │ └── node.js.yml ├── .gitignore ├── LICENSE ├── README.md ├── docs ├── .gitignore ├── CONTRIBUTE.md ├── astro.config.mjs ├── package-lock.json ├── package.json ├── public │ ├── android-chrome-192x192.png │ ├── android-chrome-512x512.png │ ├── apple-touch-icon.png │ ├── favicon-16x16.png │ ├── favicon-32x32.png │ └── favicon.ico ├── src │ ├── assets │ │ ├── samoyed-mascot-moved.png │ │ ├── samoyed-mascot.png │ │ └── site.webmanifest │ ├── components │ │ ├── Example │ │ │ ├── CodeWrapper.astro │ │ │ ├── Example.astro │ │ │ ├── OpenInStackblitz.astro │ │ │ ├── stackblitz-files │ │ │ │ ├── index.html │ │ │ │ ├── stackblitz-package.json │ │ │ │ ├── stackblitz-tsconfig.json │ │ │ │ └── stackblitz-vite.config.ts │ │ │ ├── stackblitz-template.ts │ │ │ └── types.ts │ │ └── Intro │ │ │ ├── Intro.astro │ │ │ └── intro.ts │ ├── content │ │ ├── config.ts │ │ └── docs │ │ │ ├── getting-started │ │ │ └── 00-introduction.mdx │ │ │ └── index.mdx │ ├── env.d.ts │ ├── examples │ │ ├── LOD │ │ │ └── index.ts │ │ ├── LOD2 │ │ │ └── index.ts │ │ ├── bvh │ │ │ └── index.ts │ │ ├── three-mesh-bvh │ │ │ └── index.ts │ │ └── uniforms │ │ │ └── index.ts │ └── pages │ │ └── examples │ │ ├── Loader.astro │ │ └── [...slug].astro ├── tsconfig.build.json └── tsconfig.json ├── eslint.config.js ├── examples ├── LOD.ts ├── bvh.ts ├── three-mesh-bvh.ts └── uniforms.ts ├── index.html ├── package.json ├── src ├── core │ ├── BatchedMeshBVH.ts │ ├── MultiDrawRenderList.ts │ ├── SquareDataTexture.ts │ └── feature │ │ ├── ComputeBVH.ts │ │ ├── FrustumCulling.ts │ │ ├── GetPositionAt.ts │ │ ├── LOD.ts │ │ ├── Raycasting.ts │ │ └── Uniforms.ts ├── index.webgl.ts ├── index.webgpu.ts ├── patch │ ├── ExtendBatchedMeshPrototype.common.ts │ ├── ExtendBatchedMeshPrototype.webgl.ts │ ├── ExtendBatchedMeshPrototype.webgpu.ts │ └── PatchBatchedMeshMaterial.ts └── utils │ ├── CountUtils.ts │ └── SortingUtils.ts ├── tsconfig.build.json ├── tsconfig.json ├── vite.config.js └── vite.config.webgpu.js /.github/FUNDING.yml: -------------------------------------------------------------------------------- 1 | github: agargaro 2 | -------------------------------------------------------------------------------- /.github/codeql/codeql-config.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/.github/codeql/codeql-config.yml -------------------------------------------------------------------------------- /.github/workflows/codeql.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/.github/workflows/codeql.yml -------------------------------------------------------------------------------- /.github/workflows/docs.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/.github/workflows/docs.yml -------------------------------------------------------------------------------- /.github/workflows/eslint.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/.github/workflows/eslint.yml -------------------------------------------------------------------------------- /.github/workflows/node.js.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/.github/workflows/node.js.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | dist 3 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/README.md -------------------------------------------------------------------------------- /docs/.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/.gitignore -------------------------------------------------------------------------------- /docs/CONTRIBUTE.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/CONTRIBUTE.md -------------------------------------------------------------------------------- /docs/astro.config.mjs: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/astro.config.mjs -------------------------------------------------------------------------------- /docs/package-lock.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/package-lock.json -------------------------------------------------------------------------------- /docs/package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/package.json -------------------------------------------------------------------------------- /docs/public/android-chrome-192x192.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/public/android-chrome-192x192.png -------------------------------------------------------------------------------- /docs/public/android-chrome-512x512.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/public/android-chrome-512x512.png -------------------------------------------------------------------------------- /docs/public/apple-touch-icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/public/apple-touch-icon.png -------------------------------------------------------------------------------- /docs/public/favicon-16x16.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/public/favicon-16x16.png -------------------------------------------------------------------------------- /docs/public/favicon-32x32.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/public/favicon-32x32.png -------------------------------------------------------------------------------- /docs/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/public/favicon.ico -------------------------------------------------------------------------------- /docs/src/assets/samoyed-mascot-moved.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/assets/samoyed-mascot-moved.png -------------------------------------------------------------------------------- /docs/src/assets/samoyed-mascot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/assets/samoyed-mascot.png -------------------------------------------------------------------------------- /docs/src/assets/site.webmanifest: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/assets/site.webmanifest -------------------------------------------------------------------------------- /docs/src/components/Example/CodeWrapper.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/components/Example/CodeWrapper.astro -------------------------------------------------------------------------------- /docs/src/components/Example/Example.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/components/Example/Example.astro -------------------------------------------------------------------------------- /docs/src/components/Example/OpenInStackblitz.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/components/Example/OpenInStackblitz.astro -------------------------------------------------------------------------------- /docs/src/components/Example/stackblitz-files/index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/components/Example/stackblitz-files/index.html -------------------------------------------------------------------------------- /docs/src/components/Example/stackblitz-files/stackblitz-package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/components/Example/stackblitz-files/stackblitz-package.json -------------------------------------------------------------------------------- /docs/src/components/Example/stackblitz-files/stackblitz-tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/components/Example/stackblitz-files/stackblitz-tsconfig.json -------------------------------------------------------------------------------- /docs/src/components/Example/stackblitz-files/stackblitz-vite.config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/components/Example/stackblitz-files/stackblitz-vite.config.ts -------------------------------------------------------------------------------- /docs/src/components/Example/stackblitz-template.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/components/Example/stackblitz-template.ts -------------------------------------------------------------------------------- /docs/src/components/Example/types.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/components/Example/types.ts -------------------------------------------------------------------------------- /docs/src/components/Intro/Intro.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/components/Intro/Intro.astro -------------------------------------------------------------------------------- /docs/src/components/Intro/intro.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/components/Intro/intro.ts -------------------------------------------------------------------------------- /docs/src/content/config.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/content/config.ts -------------------------------------------------------------------------------- /docs/src/content/docs/getting-started/00-introduction.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/content/docs/getting-started/00-introduction.mdx -------------------------------------------------------------------------------- /docs/src/content/docs/index.mdx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/content/docs/index.mdx -------------------------------------------------------------------------------- /docs/src/env.d.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/env.d.ts -------------------------------------------------------------------------------- /docs/src/examples/LOD/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/examples/LOD/index.ts -------------------------------------------------------------------------------- /docs/src/examples/LOD2/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/examples/LOD2/index.ts -------------------------------------------------------------------------------- /docs/src/examples/bvh/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/examples/bvh/index.ts -------------------------------------------------------------------------------- /docs/src/examples/three-mesh-bvh/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/examples/three-mesh-bvh/index.ts -------------------------------------------------------------------------------- /docs/src/examples/uniforms/index.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/examples/uniforms/index.ts -------------------------------------------------------------------------------- /docs/src/pages/examples/Loader.astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/pages/examples/Loader.astro -------------------------------------------------------------------------------- /docs/src/pages/examples/[...slug].astro: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/src/pages/examples/[...slug].astro -------------------------------------------------------------------------------- /docs/tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/tsconfig.build.json -------------------------------------------------------------------------------- /docs/tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/docs/tsconfig.json -------------------------------------------------------------------------------- /eslint.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/eslint.config.js -------------------------------------------------------------------------------- /examples/LOD.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/examples/LOD.ts -------------------------------------------------------------------------------- /examples/bvh.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/examples/bvh.ts -------------------------------------------------------------------------------- /examples/three-mesh-bvh.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/examples/three-mesh-bvh.ts -------------------------------------------------------------------------------- /examples/uniforms.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/examples/uniforms.ts -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/index.html -------------------------------------------------------------------------------- /package.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/package.json -------------------------------------------------------------------------------- /src/core/BatchedMeshBVH.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/core/BatchedMeshBVH.ts -------------------------------------------------------------------------------- /src/core/MultiDrawRenderList.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/core/MultiDrawRenderList.ts -------------------------------------------------------------------------------- /src/core/SquareDataTexture.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/core/SquareDataTexture.ts -------------------------------------------------------------------------------- /src/core/feature/ComputeBVH.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/core/feature/ComputeBVH.ts -------------------------------------------------------------------------------- /src/core/feature/FrustumCulling.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/core/feature/FrustumCulling.ts -------------------------------------------------------------------------------- /src/core/feature/GetPositionAt.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/core/feature/GetPositionAt.ts -------------------------------------------------------------------------------- /src/core/feature/LOD.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/core/feature/LOD.ts -------------------------------------------------------------------------------- /src/core/feature/Raycasting.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/core/feature/Raycasting.ts -------------------------------------------------------------------------------- /src/core/feature/Uniforms.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/core/feature/Uniforms.ts -------------------------------------------------------------------------------- /src/index.webgl.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/index.webgl.ts -------------------------------------------------------------------------------- /src/index.webgpu.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/index.webgpu.ts -------------------------------------------------------------------------------- /src/patch/ExtendBatchedMeshPrototype.common.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/patch/ExtendBatchedMeshPrototype.common.ts -------------------------------------------------------------------------------- /src/patch/ExtendBatchedMeshPrototype.webgl.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/patch/ExtendBatchedMeshPrototype.webgl.ts -------------------------------------------------------------------------------- /src/patch/ExtendBatchedMeshPrototype.webgpu.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/patch/ExtendBatchedMeshPrototype.webgpu.ts -------------------------------------------------------------------------------- /src/patch/PatchBatchedMeshMaterial.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/patch/PatchBatchedMeshMaterial.ts -------------------------------------------------------------------------------- /src/utils/CountUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/utils/CountUtils.ts -------------------------------------------------------------------------------- /src/utils/SortingUtils.ts: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/src/utils/SortingUtils.ts -------------------------------------------------------------------------------- /tsconfig.build.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/tsconfig.build.json -------------------------------------------------------------------------------- /tsconfig.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/tsconfig.json -------------------------------------------------------------------------------- /vite.config.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/vite.config.js -------------------------------------------------------------------------------- /vite.config.webgpu.js: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/agargaro/batched-mesh-extensions/HEAD/vite.config.webgpu.js --------------------------------------------------------------------------------