Skip to content

Commit eb419f5

Browse files
authored
Merge pull request #56 from SaltieRL/draco
Support loading draco compressed models
2 parents ae660b9 + f5233d3 commit eb419f5

File tree

10 files changed

+147
-24
lines changed

10 files changed

+147
-24
lines changed

docs/draco/draco_decoder.wasm

323 KB
Binary file not shown.

docs/draco/draco_wasm_wrapper.js

Lines changed: 129 additions & 0 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/package-lock.json

Lines changed: 3 additions & 3 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

docs/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@
1919
"@material-ui/lab": "^3.0.0-alpha.30",
2020
"react": "^16.8.6",
2121
"react-dom": "^16.8.6",
22-
"three": "^0.104.0"
22+
"three": "^0.108.0"
2323
},
2424
"devDependencies": {
2525
"@types/react-dom": "^16.8.4",

package-lock.json

Lines changed: 4 additions & 13 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -61,7 +61,6 @@
6161
"@types/node": "^12.0.0",
6262
"@types/react": "^16.8.13",
6363
"@types/styled-components": "^4.1.18",
64-
"@types/three": "^0.103.2",
6564
"babel-loader": "^8.0.6",
6665
"babel-plugin-dynamic-import-webpack": "^1.1.0",
6766
"file-loader": "^3.0.1",
@@ -70,7 +69,7 @@
7069
"react": "^16.8.6",
7170
"react-dom": "^16.8.6",
7271
"rimraf": "^2.6.3",
73-
"three": "^0.104.0",
72+
"three": "^0.108.0",
7473
"tslint": "^5.16.0",
7574
"tslint-react": "^4.0.0",
7675
"typescript": "^3.4.3",

src/loaders/operators/loadObject.ts

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
import { LoadingManager } from "three"
22
import { GLTF, GLTFLoader } from "three/examples/jsm/loaders/GLTFLoader"
3+
import { DRACOLoader } from "three/examples/jsm/loaders/DRACOLoader"
34

45
export const loadObject = (path: string, loadingManager?: LoadingManager) => {
56
return new Promise(
@@ -8,6 +9,9 @@ export const loadObject = (path: string, loadingManager?: LoadingManager) => {
89
reject: (err: Error | ErrorEvent) => void
910
) => {
1011
const gltfLoader = new GLTFLoader(loadingManager)
12+
const dracoLoader = new DRACOLoader()
13+
dracoLoader.setDecoderPath('/draco/')
14+
gltfLoader.setDRACOLoader(dracoLoader)
1115
gltfLoader.load(
1216
path,
1317
(gltf: GLTF) => {

src/loaders/storage/loadBall.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export const loadBall = (loadingManager?: LoadingManager) =>
99
storageMemoize(async () => {
1010
const { default: glb } = await import(
1111
// @ts-ignore
12-
/* webpackChunkName: "Ball" */ "../../assets/models/Ball.glb"
12+
/* webpackChunkName: "Ball" */ "../../assets/models/draco/Ball.glb"
1313
)
1414
const ballGLTF = await loadObject(glb, loadingManager)
1515
const ball = getChildByName(ballGLTF, "Ball")

src/loaders/storage/loadCar.ts

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ export const loadWheel = (loadingManager?: LoadingManager) =>
99
storageMemoize(async () => {
1010
const { default: glb } = await import(
1111
// @ts-ignore
12-
/* webpackChunkName: "Wheel" */ "../../assets/models/Wheel.glb"
12+
/* webpackChunkName: "Wheel" */ "../../assets/models/draco/Wheel.glb"
1313
)
1414
const wheelGLTF = await loadObject(glb, loadingManager)
1515
const wheel = new Group()
@@ -22,7 +22,7 @@ export const loadOrangeCar = (loadingManager?: LoadingManager) =>
2222
storageMemoize(async () => {
2323
const { default: glb } = await import(
2424
// @ts-ignore
25-
/* webpackChunkName: "Octane_ZXR_Orange" */ "../../assets/models/Octane_ZXR_Orange.glb"
25+
/* webpackChunkName: "Octane_ZXR_Orange" */ "../../assets/models/draco/Octane_ZXR_Orange.glb"
2626
)
2727
const carGLTF = await loadObject(glb, loadingManager)
2828
const car = getChildByName(carGLTF, "Octane")
@@ -36,7 +36,7 @@ export const loadBlueCar = (loadingManager?: LoadingManager) =>
3636
storageMemoize(async () => {
3737
const { default: glb } = await import(
3838
// @ts-ignore
39-
/* webpackChunkName: "Octane_ZXR_Blue" */ "../../assets/models/Octane_ZXR_Blue.glb"
39+
/* webpackChunkName: "Octane_ZXR_Blue" */ "../../assets/models/draco/Octane_ZXR_Blue.glb"
4040
)
4141
const carGLTF = await loadObject(glb, loadingManager)
4242
const car = getChildByName(carGLTF, "Octane")

src/loaders/storage/loadField.ts

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ export const loadField = (loadingManager?: LoadingManager) =>
77
storageMemoize(async () => {
88
const { default: glb } = await import(
99
// @ts-ignore
10-
/* webpackChunkName: "Field" */ "../../assets/models/Field.glb"
10+
/* webpackChunkName: "Field" */ "../../assets/models/draco/Field.glb"
1111
)
1212
const fieldGLTF = await loadObject(glb, loadingManager)
1313
const field = new Group()

0 commit comments

Comments
 (0)