@visactor/vrender-animate
Version:
This module provides a graph-based animation system for VRender.
21 lines (20 loc) • 2.49 kB
TypeScript
export declare class ImageProcessUtils {
static createTempCanvas(width: number, height: number, dpr?: number): HTMLCanvasElement;
static cloneImageData(imageData: ImageData): ImageData;
static lerp(start: number, end: number, t: number): number;
static smoothstep(edge0: number, edge1: number, x: number): number;
static distance(x1: number, y1: number, x2: number, y2: number): number;
static normalizeAngle(angle: number): number;
static pixelNoise(x: number, y: number, pixelSize: number): number;
static generateNoiseTexture(width: number, height: number): Uint8Array;
static applyCSSFilter(canvas: HTMLCanvasElement, filter: string): HTMLCanvasElement;
static extractChannel(imageData: ImageData, channelIndex: number): ImageData;
static blendImageData(imageData1: ImageData, imageData2: ImageData, ratio: number): ImageData;
static getLuminance(r: number, g: number, b: number): number;
static applySepiaToPixel(r: number, g: number, b: number): [number, number, number];
static calculateDynamicStrength(baseStrength: number, animationTime: number): number;
}
export declare class ShaderLibrary {
static readonly STANDARD_VERTEX_SHADER = "\n attribute vec2 a_position;\n attribute vec2 a_texCoord;\n varying vec2 v_texCoord;\n\n void main() {\n gl_Position = vec4(a_position, 0.0, 1.0);\n v_texCoord = a_texCoord;\n }\n ";
static readonly SHADER_FUNCTIONS = "\n // \u4EAE\u5EA6\u8BA1\u7B97\u51FD\u6570\n float luminance(vec3 color) {\n return dot(color, vec3(0.299, 0.587, 0.114));\n }\n\n // \u8910\u8272\u8C03\u51FD\u6570\n vec3 sepia(vec3 color) {\n float r = color.r * 0.393 + color.g * 0.769 + color.b * 0.189;\n float g = color.r * 0.349 + color.g * 0.686 + color.b * 0.168;\n float b = color.r * 0.272 + color.g * 0.534 + color.b * 0.131;\n return vec3(r, g, b);\n }\n\n // \u7EBF\u6027\u63D2\u503C\u51FD\u6570\n float lerp(float a, float b, float t) {\n return a * (1.0 - t) + b * t;\n }\n\n\n // \u7B80\u5355\u566A\u58F0\u51FD\u6570\n float pixelNoise(vec2 coord, float pixelSize) {\n vec2 gridCoord = floor(coord / pixelSize) * pixelSize;\n return fract(sin(dot(gridCoord, vec2(12.9898, 78.233))) * 43758.5453123);\n }\n\n // \u52A8\u6001\u5F3A\u5EA6\u8BA1\u7B97\n float calculateDynamicStrength(float baseStrength, float time) {\n return baseStrength * (time / 6.28318531); // 2\u03C0\n }\n ";
}