UNPKG

@thi.ng/shader-ast-stdlib

Version:

Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast

62 lines 2.29 kB
import type { FloatTerm, Mat3Term, Vec2Term, Vec3Term } from "@thi.ng/shader-ast"; /** * Takes normalized `mid` level and converts it into an exponent for gamma * correction using {@link levelAdjustGamma}. * * @remarks * Reference: https://stackoverflow.com/a/48859502/294515 */ export declare const midLevelGamma: import("@thi.ng/shader-ast").TaggedFn1<"float", "float">; /** * Inline function. Similar to {@link midLevelGamma}, but for RGB values (with * potentially varying settings per channel). To be used with * {@link levelAdjustGammaRGB}. * * @param mid - */ export declare const midLevelGammaRGB: (mid: Vec3Term) => import("@thi.ng/shader-ast").Lit<"vec3">; /** * Applies level remapping from `input` to `output` (each given as * `vec2(min,max)`) with `gamma` correction. Results will be clamped to `[0,1]` * range. */ export declare const levelAdjustGamma: import("@thi.ng/shader-ast").TaggedFn4<"float", "float", "vec2", "vec2", "float">; /** * Similar to {@link levelAdjustGamma}, but for RGB values (with potentially * varying settings per channel). * * @remarks * Note: Only the first to columns of the `mat3` args will be used (for WebGL1 * compatibility): * * - 1st column = RGB min values * - 2nd column = RGB max values */ export declare const levelAdjustGammaRGB: import("@thi.ng/shader-ast").TaggedFn4<"vec3", "vec3", "mat3", "mat3", "vec3">; /** * Inline function. Similar to {@link levelAdjustGamma}, but first computes * gamma from given `mid` level. * * @remarks * Also see {@link midLevelGamma}. * * @param x - float * @param mid - float * @param input - vec2(min,max) * @param output - vec2(min,max) */ export declare const levelAdjustMid: (x: FloatTerm, mid: FloatTerm, input: Vec2Term, output: Vec2Term) => import("@thi.ng/shader-ast").FnCall<"float">; /** * Inline function. Similar to {@link levelAdjustMid}, but for RGB values (with * potentially varying settings per channel). * * @remarks * Also see {@link levelAdjustGammaRGB}, {@link midLevelGammaRGB}. * * @param x - * @param mid - * @param input - * @param output - */ export declare const levelAdjustMidRGB: (x: Vec3Term, mid: Vec3Term, input: Mat3Term, output: Mat3Term) => import("@thi.ng/shader-ast").FnCall<"vec3">; //# sourceMappingURL=levels.d.ts.map