three
Version:
JavaScript 3D library
220 lines (181 loc) • 3.48 kB
TypeScript
import { Color } from './../math/Color';
import { Texture } from './../textures/Texture';
import { Vector2 } from './../math/Vector2';
import { MaterialParameters, Material } from './Material';
import { Combine, NormalMapTypes } from '../constants';
export interface MeshPhongMaterialParameters extends MaterialParameters {
/** geometry color in hexadecimal. Default is 0xffffff. */
color?: Color | string | number;
specular?: Color | string | number;
shininess?: number;
opacity?: number;
map?: Texture | null;
lightMap?: Texture | null;
lightMapIntensity?: number;
aoMap?: Texture | null;
aoMapIntensity?: number;
emissive?: Color | string | number;
emissiveIntensity?: number;
emissiveMap?: Texture | null;
bumpMap?: Texture | null;
bumpScale?: number;
normalMap?: Texture | null;
normalMapType?: NormalMapTypes;
normalScale?: Vector2;
displacementMap?: Texture | null;
displacementScale?: number;
displacementBias?: number;
specularMap?: Texture | null;
alphaMap?: Texture | null;
envMap?: Texture | null;
combine?: Combine;
reflectivity?: number;
refractionRatio?: number;
wireframe?: boolean;
wireframeLinewidth?: number;
wireframeLinecap?: string;
wireframeLinejoin?: string;
skinning?: boolean;
morphTargets?: boolean;
morphNormals?: boolean;
}
export class MeshPhongMaterial extends Material {
constructor( parameters?: MeshPhongMaterialParameters );
/**
* @default 'MeshNormalMaterial'
*/
type: string;
/**
* @default new THREE.Color( 0xffffff )
*/
color: Color;
/**
* @default new THREE.Color( 0x111111 )
*/
specular: Color;
/**
* @default 30
*/
shininess: number;
/**
* @default null
*/
map: Texture | null;
/**
* @default null
*/
lightMap: Texture | null;
/**
* @default null
*/
lightMapIntensity: number;
/**
* @default null
*/
aoMap: Texture | null;
/**
* @default null
*/
aoMapIntensity: number;
/**
* @default new THREE.Color( 0x000000 )
*/
emissive: Color;
/**
* @default 1
*/
emissiveIntensity: number;
/**
* @default null
*/
emissiveMap: Texture | null;
/**
* @default null
*/
bumpMap: Texture | null;
/**
* @default 1
*/
bumpScale: number;
/**
* @default null
*/
normalMap: Texture | null;
/**
* @default THREE.TangentSpaceNormalMap
*/
normalMapType: NormalMapTypes;
/**
* @default new Vector2( 1, 1 )
*/
normalScale: Vector2;
/**
* @default null
*/
displacementMap: Texture | null;
/**
* @default 1
*/
displacementScale: number;
/**
* @default 0
*/
displacementBias: number;
/**
* @default null
*/
specularMap: Texture | null;
/**
* @default null
*/
alphaMap: Texture | null;
/**
* @default null
*/
envMap: Texture | null;
/**
* @default THREE.MultiplyOperation
*/
combine: Combine;
/**
* @default 1
*/
reflectivity: number;
/**
* @default 0.98
*/
refractionRatio: number;
/**
* @default false
*/
wireframe: boolean;
/**
* @default 1
*/
wireframeLinewidth: number;
/**
* @default 'round'
*/
wireframeLinecap: string;
/**
* @default 'round'
*/
wireframeLinejoin: string;
/**
* @default false
*/
skinning: boolean;
/**
* @default false
*/
morphTargets: boolean;
/**
* @default false
*/
morphNormals: boolean;
/**
* @deprecated Use {@link MeshStandardMaterial THREE.MeshStandardMaterial} instead.
*/
metal: boolean;
setValues( parameters: MeshPhongMaterialParameters ): void;
}