Skip to content

Commit d06798d

Browse files
fix: ktx2 path
1 parent edbaa02 commit d06798d

2 files changed

Lines changed: 11 additions & 5 deletions

File tree

examples/courses/courses.ts

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -297,7 +297,8 @@ async function setupCourse() {
297297
gameContext.renderer,
298298
{
299299
setupData: gameContext.setupData,
300-
manager: gameContext.loadingScreen?.manager
300+
manager: gameContext.loadingScreen?.manager,
301+
meshLoaderOptions: { ktx2Path: '../ktx2/' }
301302
}
302303
);
303304

src/courses/loader.ts

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -49,12 +49,16 @@ interface CourseLoaderEvents {
4949
progress: (progress: CourseLoaderProgressEvent) => void
5050
}
5151

52+
type MeshLoaderOptions = {
53+
ktx2Path?: string;
54+
}
5255
export class MeshLoader extends EventEmitter<CourseLoaderEvents> {
5356
gltfLoader: GLTFLoader;
5457

55-
constructor(renderer: THREE.WebGLRenderer, manager?: THREE.LoadingManager) {
58+
constructor(renderer: THREE.WebGLRenderer, manager?: THREE.LoadingManager, options: MeshLoaderOptions = {}) {
5659
super();
57-
const ktx2Loader = new KTX2Loader().setTranscoderPath('/ktx2/').detectSupport(renderer);
60+
const ktx2Path = options.ktx2Path ?? '/ktx2/';
61+
const ktx2Loader = new KTX2Loader().setTranscoderPath(ktx2Path).detectSupport(renderer);
5862
this.gltfLoader = new GLTFLoader(manager);
5963
this.gltfLoader.setKTX2Loader(ktx2Loader);
6064
}
@@ -84,7 +88,8 @@ interface LoadedCourseSurface extends CourseSurfaceProperties {
8488

8589
type CourseLoaderOptions = {
8690
manager?: THREE.LoadingManager,
87-
setupData: Partial<OpenGolfSim.SetupData>
91+
setupData: Partial<OpenGolfSim.SetupData>,
92+
meshLoaderOptions?: MeshLoaderOptions
8893
}
8994

9095
export class CourseLoader extends EventEmitter<CourseLoaderEvents> {
@@ -121,7 +126,7 @@ export class CourseLoader extends EventEmitter<CourseLoaderEvents> {
121126
super();
122127
this.world = world;
123128
this.rapier = rapier;
124-
this.meshLoader = new MeshLoader(renderer, options.manager);
129+
this.meshLoader = new MeshLoader(renderer, options.manager, options.meshLoaderOptions);
125130
this.setupData = options.setupData || {};
126131
this.courseSize = 1000;
127132

0 commit comments

Comments
 (0)