@thi.ng/shader-ast-stdlib
Version:
Function collection for modular GPGPU / shader programming with @thi.ng/shader-ast
62 lines • 2.29 kB
TypeScript
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