@openhps/core
Version:
Open Hybrid Positioning System - Core component
82 lines (70 loc) • 2.23 kB
TypeScript
import {
ColorSpace,
MagnificationTextureFilter,
MinificationTextureFilter,
PixelFormatGPU,
TextureDataType,
Wrapping,
} from "../constants.js";
import { Vector4 } from "../math/Vector4.js";
import { DepthTexture } from "../textures/DepthTexture.js";
import { Texture } from "../textures/Texture.js";
import { EventDispatcher } from "./EventDispatcher.js";
export interface RenderTargetOptions {
wrapS?: Wrapping | undefined;
wrapT?: Wrapping | undefined;
magFilter?: MagnificationTextureFilter | undefined;
minFilter?: MinificationTextureFilter | undefined;
generateMipmaps?: boolean | undefined; // true;
format?: number | undefined; // RGBAFormat;
type?: TextureDataType | undefined; // UnsignedByteType;
anisotropy?: number | undefined; // 1;
colorSpace?: ColorSpace | undefined;
internalFormat?: PixelFormatGPU | null | undefined;
depthBuffer?: boolean | undefined; // true;
stencilBuffer?: boolean | undefined; // false;
depthTexture?: DepthTexture | undefined;
/**
* Defines the count of MSAA samples. Can only be used with WebGL 2. Default is **0**.
* @default 0
*/
samples?: number | undefined;
count?: number | undefined;
}
export class RenderTarget<TTexture extends Texture | Texture[] = Texture> extends EventDispatcher<{ dispose: {} }> {
readonly isRenderTarget: true;
width: number;
height: number;
depth: number;
scissor: Vector4;
/**
* @default false
*/
scissorTest: boolean;
viewport: Vector4;
textures: TTexture[];
/**
* @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;
constructor(width?: number, height?: number, options?: RenderTargetOptions);
get texture(): TTexture;
set texture(value: TTexture);
setSize(width: number, height: number, depth?: number): void;
clone(): this;
copy(source: RenderTarget): this;
dispose(): void;
}