@google/model-viewer
Version:
Easily display interactive 3D models on the web and in AR!
40 lines (39 loc) • 1.72 kB
TypeScript
import { EventDispatcher, Texture, WebGLRenderer, WebGLRenderTarget } from 'three';
import { ProgressTracker } from '../utilities/progress-tracker.js';
export interface EnvironmentMapAndSkybox {
environmentMap: WebGLRenderTarget;
skybox: WebGLRenderTarget | null;
}
export interface EnvironmentGenerationConfig {
progressTracker?: ProgressTracker;
}
declare const $environmentMapCache: unique symbol;
declare const $generatedEnvironmentMap: unique symbol;
declare const $PMREMGenerator: unique symbol;
export default class TextureUtils extends EventDispatcher {
private renderer;
private [$generatedEnvironmentMap];
private [$PMREMGenerator];
private [$environmentMapCache];
constructor(renderer: WebGLRenderer);
load(url: string, progressCallback?: (progress: number) => void): Promise<Texture>;
loadEquirectAsCubeUV(url: string, progressCallback?: (progress: number) => void): Promise<WebGLRenderTarget>;
/**
* Returns a { skybox, environmentMap } object with the targets/textures
* accordingly. `skybox` is a WebGLRenderCubeTarget, and `environmentMap`
* is a Texture from a WebGLRenderCubeTarget.
*/
generateEnvironmentMapAndSkybox(skyboxUrl?: string | null, environmentMapUrl?: string | null, options?: EnvironmentGenerationConfig): Promise<EnvironmentMapAndSkybox>;
private [$addMetadata];
/**
* Loads a WebGLRenderTarget from a given URL. The render target in this
* case will be assumed to be used as an environment map.
*/
private [$loadEnvironmentMapFromUrl];
/**
* Loads a dynamically generated environment map.
*/
private [$loadGeneratedEnvironmentMap];
dispose(): Promise<void>;
}
export {};