Spaces:
Running
Running
import { | |
Material, | |
LoadingManager, | |
Mapping, | |
EventDispatcher, | |
BufferGeometry, | |
Side, | |
Texture, | |
Vector2, | |
Wrapping | |
} from '../../../src/Three'; | |
export interface MaterialCreatorOptions { | |
/** | |
* side: Which side to apply the material | |
* THREE.FrontSide (default), THREE.BackSide, THREE.DoubleSide | |
*/ | |
side?: Side; | |
/* | |
* wrap: What type of wrapping to apply for textures | |
* THREE.RepeatWrapping (default), THREE.ClampToEdgeWrapping, THREE.MirroredRepeatWrapping | |
*/ | |
wrap?: Wrapping; | |
/* | |
* normalizeRGB: RGBs need to be normalized to 0-1 from 0-255 | |
* Default: false, assumed to be already normalized | |
*/ | |
normalizeRGB?: boolean; | |
/* | |
* ignoreZeroRGBs: Ignore values of RGBs (Ka,Kd,Ks) that are all 0's | |
* Default: false | |
*/ | |
ignoreZeroRGBs?: boolean; | |
/* | |
* invertTrProperty: Use values 1 of Tr field for fully opaque. This option is useful for obj | |
* exported from 3ds MAX, vcglib or meshlab. | |
* Default: false | |
*/ | |
invertTrProperty?: boolean; | |
} | |
export class MTLLoader extends EventDispatcher { | |
constructor(manager?: LoadingManager); | |
manager: LoadingManager; | |
materialOptions: MaterialCreatorOptions; | |
path: string; | |
texturePath: string; | |
crossOrigin: boolean; | |
load(url: string, onLoad: (materialCreator: MaterialCreator) => void, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): void; | |
parse(text: string) : MaterialCreator; | |
setPath(path: string) : void; | |
setTexturePath(path: string) : void; | |
setBaseUrl(path: string) : void; | |
setCrossOrigin(value: boolean) : void; | |
setMaterialOptions(value: MaterialCreatorOptions) : void; | |
} | |
export interface MaterialInfo { | |
ks?: number[]; | |
kd?: number[]; | |
ke?: number[]; | |
map_kd?: string; | |
map_ks?: string; | |
map_ke?: string; | |
norm?: string; | |
map_bump?: string; | |
bump?: string; | |
map_d?: string; | |
ns?: number; | |
d?: number; | |
tr?: number; | |
} | |
export interface TexParams { | |
scale: Vector2; | |
offset: Vector2; | |
url: string; | |
} | |
export class MaterialCreator { | |
constructor(baseUrl?: string, options?: MaterialCreatorOptions); | |
baseUrl : string; | |
options : MaterialCreatorOptions; | |
materialsInfo : {[key: string]: MaterialInfo}; | |
materials : {[key: string]: Material}; | |
private materialsArray : Material[]; | |
nameLookup : {[key: string]: number}; | |
side : Side; | |
wrap : Wrapping; | |
setCrossOrigin( value: boolean ) : void; | |
setManager( value: LoadingManager ) : void; | |
setMaterials( materialsInfo: {[key: string]: MaterialInfo} ) : void; | |
convert( materialsInfo: {[key: string]: MaterialInfo} ) : {[key: string]: MaterialInfo}; | |
preload() : void; | |
getIndex( materialName: string ) : Material; | |
getAsArray() : Material[]; | |
create( materialName: string ) : Material; | |
createMaterial_( materialName: string ) : Material; | |
getTextureParams( value: string, matParams: any ) : TexParams; | |
loadTexture(url: string, mapping?: Mapping, onLoad?: (bufferGeometry: BufferGeometry) => void, onProgress?: (event: ProgressEvent) => void, onError?: (event: ErrorEvent) => void): Texture; | |
} | |