@@ -49,12 +49,16 @@ interface CourseLoaderEvents {
4949 progress : ( progress : CourseLoaderProgressEvent ) => void
5050}
5151
52+ type MeshLoaderOptions = {
53+ ktx2Path ?: string ;
54+ }
5255export 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
8589type CourseLoaderOptions = {
8690 manager ?: THREE . LoadingManager ,
87- setupData : Partial < OpenGolfSim . SetupData >
91+ setupData : Partial < OpenGolfSim . SetupData > ,
92+ meshLoaderOptions ?: MeshLoaderOptions
8893}
8994
9095export 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