123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104 |
- 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;
- }
|