threepipe
Version:
A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.
115 lines • 4.39 kB
TypeScript
import { Material, Shader, WebGLRenderer } from 'three';
import { MaterialExtension } from '../../materials';
import { IMaterial, IMaterialSetDirtyOptions } from '../IMaterial';
/**
* Map of all material properties and their default values in three.js - Material.js
* This is used to copy properties and serialize/deserialize them.
* @note: Upgrade note: keep updated from three.js/src/Material.js:22
*/
export declare const threeMaterialPropList: {
name: string;
blending: 1;
side: 0;
vertexColors: boolean;
opacity: number;
transparent: boolean;
blendSrc: 204;
blendDst: 205;
blendEquation: 100;
blendSrcAlpha: null;
blendDstAlpha: null;
blendEquationAlpha: null;
depthFunc: 3;
depthTest: boolean;
depthWrite: boolean;
stencilWriteMask: number;
stencilFunc: 519;
stencilRef: number;
stencilFuncMask: number;
stencilFail: 7680;
stencilZFail: 7680;
stencilZPass: 7680;
stencilWrite: boolean;
clippingPlanes: null;
clipIntersection: boolean;
clipShadows: boolean;
shadowSide: null;
colorWrite: boolean;
precision: null;
polygonOffset: boolean;
polygonOffsetFactor: number;
polygonOffsetUnits: number;
dithering: boolean;
alphaToCoverage: boolean;
premultipliedAlpha: boolean;
forceSinglePass: boolean;
visible: boolean;
toneMapped: boolean;
userData: {};
alphaTest: number;
};
export declare const iMaterialCommons: {
readonly threeMaterialPropList: {
name: string;
blending: 1;
side: 0;
vertexColors: boolean;
opacity: number;
transparent: boolean;
blendSrc: 204;
blendDst: 205;
blendEquation: 100;
blendSrcAlpha: null;
blendDstAlpha: null;
blendEquationAlpha: null;
depthFunc: 3;
depthTest: boolean;
depthWrite: boolean;
stencilWriteMask: number;
stencilFunc: 519;
stencilRef: number;
stencilFuncMask: number;
stencilFail: 7680;
stencilZFail: 7680;
stencilZPass: 7680;
stencilWrite: boolean;
clippingPlanes: null;
clipIntersection: boolean;
clipShadows: boolean;
shadowSide: null;
colorWrite: boolean;
precision: null;
polygonOffset: boolean;
polygonOffsetFactor: number;
polygonOffsetUnits: number;
dithering: boolean;
alphaToCoverage: boolean;
premultipliedAlpha: boolean;
forceSinglePass: boolean;
visible: boolean;
toneMapped: boolean;
userData: {};
alphaTest: number;
};
readonly setDirty: (this: IMaterial, options?: IMaterialSetDirtyOptions) => void;
readonly setValues: (superSetValues: Material["setValues"]) => IMaterial["setValues"];
readonly dispose: (superDispose: Material<any, any>["dispose"]) => IMaterial["dispose"];
readonly clone: (superClone: Material<any, any>["clone"]) => IMaterial["clone"];
readonly dispatchEvent: (superDispatchEvent: Material["dispatchEvent"]) => IMaterial["dispatchEvent"];
readonly customProgramCacheKey: (this: IMaterial) => string;
readonly registerMaterialExtensions: (this: IMaterial, customMaterialExtensions: MaterialExtension[]) => void;
readonly unregisterMaterialExtensions: (this: IMaterial, customMaterialExtensions: MaterialExtension[]) => void;
readonly onBeforeCompile: (this: IMaterial, shader: Shader, renderer: WebGLRenderer) => void;
readonly onBeforeRender: IMaterial["onBeforeRender"];
readonly onAfterRender: IMaterial["onAfterRender"];
readonly onBeforeCompileOverride: (superOnBeforeCompile: Material["onBeforeCompile"]) => IMaterial["onBeforeCompile"];
readonly onBeforeRenderOverride: (superOnBeforeRender: Material["onBeforeRender"]) => IMaterial["onBeforeRender"];
readonly onAfterRenderOverride: (superOnAfterRender: Material["onAfterRender"]) => IMaterial["onAfterRender"];
readonly customProgramCacheKeyOverride: (superCustomPropertyCacheKey: Material["customProgramCacheKey"]) => IMaterial["customProgramCacheKey"];
readonly upgradeMaterial: typeof upgradeMaterial;
};
/**
* Convert a standard three.js {@link Material} to {@link IMaterial}
*/
export declare function upgradeMaterial(this: IMaterial): IMaterial;
//# sourceMappingURL=iMaterialCommons.d.ts.map