@realsee/five
Version:
Realsee Renderer SDK
39 lines (38 loc) • 1.37 kB
TypeScript
import * as THREE from 'three';
import { FullScreenQuad } from '../../tools/full-screen-quad';
/**
* Pass基类
* three.js 的 Pass 接口,用于 EffectComposer
*/
export interface Pass {
enabled: boolean;
needsSwap: boolean;
clear: boolean;
renderToScreen: boolean;
setSize(width: number, height: number): void;
render(renderer: THREE.WebGLRenderer, writeBuffer: THREE.WebGLRenderTarget, readBuffer: THREE.WebGLRenderTarget, deltaTime?: number, maskActive?: boolean): void;
}
/**
* FivePass
*
* Five 引擎优化的 Pass 基类
* 支持 G-Buffer 注入,避免重复渲染场景
*/
export declare class FivePass implements Pass {
static FullScreenQuad: typeof FullScreenQuad;
enabled: boolean;
needsSwap: boolean;
clear: boolean;
renderToScreen: boolean;
dependencies: ('depth' | 'normal' | 'color')[];
/**
* G-Buffer 纹理集合
* 包含 depth、normal、color 等纹理
* 由 EffectComposer 在 render 时注入
*/
gbuffer: Map<'depth' | 'normal' | 'color', THREE.Texture>;
constructor(dependencies?: ('depth' | 'normal' | 'color')[]);
setSize(width: number, height: number): void;
render(renderer: THREE.WebGLRenderer, writeBuffer: THREE.WebGLRenderTarget, readBuffer: THREE.WebGLRenderTarget, deltaTime?: number, maskActive?: boolean): void;
dispose(): void;
}