UNPKG

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.44 kB
import { AViewerPluginSync, ThreeViewer } from '../../viewer'; import { IMaterial, ITexture } from '../../core'; import { MaterialExtension } from '../../materials'; import { GLTFWriter2 } from '../../assetmanager'; import type { 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