import { Matrix4, Vector2, Texture, IUniform } from '../../../src/Three'; /** * References: * https://lettier.github.io/3d-game-shaders-for-beginners/screen-space-reflection.html */ export const SSRShader: SSRShader; export interface SSRShader { defines: { MAX_STEP: number; isPerspectiveCamera: boolean; isDistanceAttenuation: boolean; isFresnel: boolean; isInfiniteThick: boolean; isSelective: boolean; }; uniforms: { tDiffuse: IUniform; tNormal: IUniform; tMetalness: IUniform; tDepth: IUniform; cameraNear: IUniform; cameraFar: IUniform; resolution: IUniform; cameraProjectionMatrix: IUniform; cameraInverseProjectionMatrix: IUniform; opacity: IUniform; maxDistance: IUniform; cameraRange: IUniform; thickness: IUniform; }; vertexShader: string; fragmentShader: string; } export const SSRDepthShader: SSRDepthShader; export interface SSRDepthShader { defines: { PERSPECTIVE_CAMERA: number; }; uniforms: { tDepth: IUniform; cameraNear: IUniform; cameraFar: IUniform; }; vertexShader: string; fragmentShader: string; } export const SSRBlurShader: SSRBlurShader; export interface SSRBlurShader { uniforms: { tDiffuse: IUniform; resolution: IUniform; opacity: IUniform; }; vertexShader: string; fragmentShader: string; }