@polygonjs/polygonjs
Version:
node-based WebGL 3D engine https://polygonjs.com
36 lines (35 loc) • 1.4 kB
TypeScript
import { Data3DTexture, Vector3 } from 'three';
import { CoreBaseLoader } from '../_Base';
import { BaseNodeType } from '../../../engine/nodes/_Base';
export interface SDFLoaderOptions {
}
export declare class SDFLoader extends CoreBaseLoader<string> {
protected _node?: BaseNodeType | undefined;
constructor(url: string, _node?: BaseNodeType | undefined);
load(successCallback: (geometry: Data3DTexture) => void, progressCallback: (() => void) | undefined, errorCallback: (error: ErrorEvent) => void | undefined): Promise<void>;
}
interface MetadataOptions {
boundMin: Vector3;
boundMax: Vector3;
resolution: Vector3;
}
export interface SDFDataContainer {
width: number;
height: number;
depth: number;
boundMinx: number;
boundMiny: number;
boundMinz: number;
boundMaxx: number;
boundMaxy: number;
boundMaxz: number;
resolutionx: number;
resolutiony: number;
resolutionz: number;
data: Float32Array;
}
export declare function addSDFMetadataToContainer(texture: Data3DTexture, options: MetadataOptions): void;
export declare function readSDFMetadataFromContainer(texture: Data3DTexture): SDFDataContainer | undefined;
export declare function saveSDFMetadata(texture: Data3DTexture): Float32Array | undefined;
export declare function createSDFTexture(width: number, height: number, depth: number): Data3DTexture;
export {};