import { DataTexture, IUniform, Matrix4, Vector2, Vector3 } from "three"; export const GTAOShader: { name: string; defines: { PERSPECTIVE_CAMERA: number; SAMPLES: number; NORMAL_VECTOR_TYPE: number; DEPTH_SWIZZLING: string; SCREEN_SPACE_RADIUS: number; SCREEN_SPACE_RADIUS_SCALE: number; SCENE_CLIP_BOX: number; }; uniforms: { tNormal: IUniform; tDepth: IUniform; tNoise: IUniform; resolution: IUniform; cameraNear: IUniform; cameraFar: IUniform; cameraProjectionMatrix: IUniform; cameraProjectionMatrixInverse: IUniform; radius: IUniform; distanceExponent: IUniform; thickness: IUniform; distanceFallOff: IUniform; scale: IUniform; sceneBoxMin: IUniform; sceneBoxMax: IUniform; }; vertexShader: string; fragmentShader: string; }; export const GTAODepthShader: { name: string; defines: { PERSPECTIVE_CAMERA: number; }; uniforms: { tDepth: IUniform; cameraNear: IUniform; cameraFar: IUniform; }; vertexShader: string; fragmentShader: string; }; export const GTAOBlendShader: { name: string; uniforms: { tDiffuse: IUniform; intensity: IUniform; }; vertexShader: string; fragmentShader: string; }; export function generateMagicSquareNoise(samples?: number): DataTexture;