threepipe
Version:
A 3D viewer framework built on top of three.js in TypeScript with a focus on quality rendering, modularity and extensibility.
74 lines • 2.59 kB
TypeScript
import { ColorSpace, DepthFormat, DepthStencilFormat, EventDispatcher, FloatType, MagnificationTextureFilter, MinificationTextureFilter, Texture, TextureDataType, UnsignedInt248Type, UnsignedIntType, UnsignedShortType, WebGLMultipleRenderTargets, WebGLRenderTarget, Wrapping } from 'three';
import { Vector4 } from 'three/src/math/Vector4';
import { DepthTexture } from 'three/src/textures/DepthTexture';
import type { IRenderManager, IWebGLRenderer } from '../core';
import { ValOrArr } from 'ts-browser-helpers';
export interface IRenderTarget extends EventDispatcher {
isWebGLRenderTarget: boolean;
width: number;
height: number;
depth: number;
assetType?: 'renderTarget';
name?: string;
texture: ValOrArr<Texture & {
_target?: IRenderTarget;
}>;
uuid?: string;
sizeMultiplier?: number;
isTemporary?: boolean;
targetKey?: string;
clone(trackTarget?: boolean): this;
setSize(width: number, height: number, depth?: number): void;
copy(source: IRenderTarget | WebGLRenderTarget | WebGLMultipleRenderTargets): this;
dispose(): void;
scissor: Vector4;
/**
* @default false
*/
scissorTest: boolean;
viewport: Vector4;
/**
* @default true
*/
depthBuffer: boolean;
/**
* @default true
*/
stencilBuffer: boolean;
/**
* @default null
*/
depthTexture: DepthTexture;
/**
* Defines the count of MSAA samples. Can only be used with WebGL 2. Default is **0**.
* @default 0
*/
samples: number;
isWebGLCubeRenderTarget?: boolean;
isWebGLMultipleRenderTargets?: boolean;
clear?(renderer: IWebGLRenderer, color: boolean, depth: boolean, stencil: boolean): void;
readonly renderManager?: IRenderManager;
}
export interface CreateRenderTargetOptions {
sizeMultiplier?: number;
size?: {
width: number;
height: number;
};
generateMipmaps?: boolean;
samples?: number;
minFilter?: MinificationTextureFilter;
magFilter?: MagnificationTextureFilter;
colorSpace?: ColorSpace;
type?: TextureDataType;
format?: number;
depthBuffer?: boolean;
depthTexture?: boolean;
depthTextureType?: typeof UnsignedShortType | typeof UnsignedInt248Type | typeof UnsignedIntType | typeof FloatType;
depthTextureFormat?: typeof DepthFormat | typeof DepthStencilFormat;
textureCount?: number;
wrapS?: Wrapping;
wrapT?: Wrapping;
}
export declare function createRenderTargetKey(op?: CreateRenderTargetOptions): string;
//# sourceMappingURL=RenderTarget.d.ts.map