@threepipe/webgi-plugins
Version:
WebGi - Realistic Rendering Plugins for ThreePipe.
47 lines • 2.29 kB
TypeScript
import { BufferGeometry2, IMaterial, Matrix4, Mesh2, PhysicalMaterial, Texture, ValOrFunc, Vector2, WebGLRenderTarget } from 'threepipe';
import { IShaderPropertiesUpdater } from 'threepipe/dist/materials/MaterialExtension';
export declare class Reflector2<TG extends BufferGeometry2 = BufferGeometry2> extends Mesh2<TG, PhysicalMaterial> {
type: string;
readonly isReflector2 = true;
private _renderTarget;
readonly textureMatrix: Matrix4;
private _getRenderTarget;
enabled: boolean;
reflectorModePhysical: boolean;
reflectionTargetNeedsUpdate: boolean;
transparentReflectionBackground: boolean;
private _updateExtension;
constructor(geometry: TG, renderTarget: ValOrFunc<WebGLRenderTarget | undefined>, clipBias: number | undefined, material: PhysicalMaterial);
getRenderTarget(): ValOrFunc<WebGLRenderTarget<Texture<import('threepipe').TextureEventMap>> | undefined>;
readonly materialExtension: {
extraUniforms: {
tRefDiffuse: {
value: Texture | null;
};
tRefDiffuseSize: {
value: Vector2;
};
refTextureMatrix: {
value: Matrix4;
};
frameCount: {
value: number;
};
sceneBoundingRadius: {
value: number;
};
};
extraDefines: {
USE_UV: string;
};
updaters: IShaderPropertiesUpdater[] | (() => IShaderPropertiesUpdater[]);
shaderExtender: (shader: import('threepipe').WebGLProgramParametersWithUniforms, _material: IMaterial<import('threepipe').IMaterialEventMap>, _renderer: import('threepipe').WebGLRenderer) => void;
parsVertexSnippet: () => "" | "\n\t\tuniform mat4 refTextureMatrix;\n\t\tvarying vec4 vRefUv;\n";
parsFragmentSnippet: () => string;
computeCacheKey: (material: IMaterial) => string;
onObjectRender: (_object: import('threepipe').Object3D<import('threepipe').Object3DEventMap>, material: IMaterial<import('threepipe').IMaterialEventMap>) => void;
isCompatible: (material: IMaterial<import('threepipe').IMaterialEventMap>) => true;
setDirty: () => void | undefined;
};
}
//# sourceMappingURL=Reflector2.d.ts.map