three
Version:
JavaScript 3D library
99 lines (76 loc) • 1.56 kB
TypeScript
import { Texture } from './../textures/Texture';
import { Vector2 } from './../math/Vector2';
import {
MeshStandardMaterialParameters,
MeshStandardMaterial,
} from './MeshStandardMaterial';
import { Color } from './../math/Color';
export interface MeshPhysicalMaterialParameters
extends MeshStandardMaterialParameters {
clearcoat?: number;
clearcoatMap?: Texture | null;
clearcoatRoughness?: number;
clearcoatRoughnessMap?: Texture | null;
clearcoatNormalScale?: Vector2;
clearcoatNormalMap?: Texture | null;
reflectivity?: number;
ior?: number;
sheen?: Color;
transmission?: number;
transmissionMap?: Texture | null;
}
export class MeshPhysicalMaterial extends MeshStandardMaterial {
constructor( parameters: MeshPhysicalMaterialParameters );
/**
* @default 'MeshPhysicalMaterial'
*/
type: string;
/**
* @default { 'STANDARD': '', 'PHYSICAL': '' }
*/
defines: { [key: string]: any };
/**
* @default 0
*/
clearcoat: number;
/**
* @default null
*/
clearcoatMap: Texture | null;
/**
* @default 0
*/
clearcoatRoughness: number;
/**
* @default null
*/
clearcoatRoughnessMap: Texture | null;
/**
* @default new THREE.Vector2( 1, 1 )
*/
clearcoatNormalScale: Vector2;
/**
* @default null
*/
clearcoatNormalMap: Texture | null;
/**
* @default 0.5
*/
reflectivity: number;
/**
* @default 1.5
*/
ior: number;
/**
* @default null
*/
sheen: Color | null;
/**
* @default 0
*/
transmission: number;
/**
* @default null
*/
transmissionMap: Texture | null;
}