three-stdlib
Version:
stand-alone library of threejs examples
49 lines (37 loc) • 1.26 kB
TypeScript
import { Mesh, ShaderMaterial, WebGLRenderTarget, BufferGeometry, WebGLRenderer, Scene, Camera, IUniform } from 'three'
export interface ReflectorShader {
defines: {
DISTANCE_ATTENUATION: boolean
FRESNEL: boolean
}
uniforms: {
[key: string]: IUniform
}
vertexShader: string
fragmentShader: string
}
export interface ReflectorForSSRPassOptions {
clipBias?: number | undefined
textureWidth?: number | undefined
textureHeight?: number | undefined
color?: number | undefined
useDepthTexture?: boolean | undefined
shader?: ReflectorShader | undefined
}
export class ReflectorForSSRPass<TGeometry extends BufferGeometry = BufferGeometry> extends Mesh<TGeometry> {
type: 'ReflectorForSSRPass'
options: ReflectorForSSRPassOptions
static ReflectorShader: ReflectorShader
needsUpdate: boolean
maxDistance: number
opacity: number
get distanceAttenuation(): boolean
set distanceAttenuation(val: boolean)
get fresnel(): boolean
set fresnel(val: boolean)
material: ShaderMaterial
renderTarget: WebGLRenderTarget
constructor(geometry: TGeometry, options: ReflectorForSSRPassOptions)
doRender: (renderer: WebGLRenderer, scene: Scene, camera: Camera) => void
getRenderTarget: () => WebGLRenderTarget
}