threepipe
Version:
A modern 3D viewer framework built on top of three.js, written in TypeScript, designed to make creating high-quality, modular, and extensible 3D experiences on the web simple and enjoyable.
61 lines • 2.43 kB
TypeScript
import { AViewerPluginSync, ThreeViewer } from '../../viewer';
import { IMaterial, ITexture } from '../../core';
import { MaterialExtension } from '../../materials';
import { GLTFWriter2 } from '../../assetmanager';
import { GLTFLoaderPlugin, GLTFParser } from 'three/examples/jsm/loaders/GLTFLoader.js';
/**
* Custom Bump Map Plugin
* Adds a material extension to PhysicalMaterial to support custom bump maps.
* A Custom bump map is similar to the built-in bump map, but allows using an extra bump map and scale to give a combined effect.
* This plugin also has support for bicubic filtering of the custom bump map and is enabled by default.
* It also adds a UI to the material to edit the settings.
* It uses WEBGI_materials_custom_bump_map glTF extension to save the settings in glTF files.
* @category Plugins
*/
export declare class CustomBumpMapPlugin extends AViewerPluginSync {
static readonly PluginType = "CustomBumpMapPlugin";
enabled: boolean;
bicubicFiltering: boolean;
private _defines;
private _uniforms;
enableCustomBump(material: IMaterial, map?: ITexture, scale?: number): boolean;
readonly materialExtension: MaterialExtension;
setDirty: () => void;
constructor();
onAdded(v: ThreeViewer): void;
onRemove(v: ThreeViewer): void;
/**
* @deprecated use {@link customBumpMapGLTFExtension}
*/
static readonly CUSTOM_BUMP_MAP_GLTF_EXTENSION = "WEBGI_materials_custom_bump_map";
}
declare module '../../core/IMaterial' {
interface IMaterialUserData {
_hasCustomBump?: boolean;
_customBumpMap?: ITexture | null;
_customBumpScale?: number;
}
}
/**
* FragmentClipping Materials Extension
*
* Specification: https://threepipe.org/docs/gltf-extensions/WEBGI_materials_fragment_clipping_extension.html
*/
declare class GLTFMaterialsCustomBumpMapImport implements GLTFLoaderPlugin {
name: string;
parser: GLTFParser;
constructor(parser: GLTFParser);
extendMaterialParams(materialIndex: number, materialParams: any): Promise<void[] | undefined>;
}
export declare const customBumpMapGLTFExtension: {
name: string;
import: (p: GLTFParser) => GLTFMaterialsCustomBumpMapImport;
export: (w: GLTFWriter2) => {
writeMaterial: (material: any, materialDef: any) => void;
};
textures: {
customBumpMap: string;
};
};
export {};
//# sourceMappingURL=CustomBumpMapPlugin.d.ts.map