SDFShaders

Properties

Link copied to clipboard
open val Operand.a: Operand
Link copied to clipboard
open val Operand.b: Operand
Link copied to clipboard
open val Bool1: VarType
Link copied to clipboard
Link copied to clipboard
open val Byte4: VarType
Link copied to clipboard
Link copied to clipboard
open val Float1: VarType
Link copied to clipboard
open val Float2: VarType
Link copied to clipboard
open val Float3: VarType
Link copied to clipboard
open val Float4: VarType
Link copied to clipboard
open val Operand.g: Operand
Link copied to clipboard
open val Int1: VarType
Link copied to clipboard
Link copied to clipboard
open val Mat2: VarType
Link copied to clipboard
open val Mat3: VarType
Link copied to clipboard
open val Mat4: VarType
Link copied to clipboard

From an SDF function, this creates a smooth antialiased version working with pixel distances.

Link copied to clipboard
Link copied to clipboard

From an SDF function, this converts a filled SDF into a stroke (border of the shape)

Link copied to clipboard
Link copied to clipboard

Mixes colors, considering they are premultiplied. The first parameter is the existing color, and the second one the color trying to put on top.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open val out: Output
Link copied to clipboard
open val Operand.r: Operand
Link copied to clipboard
Link copied to clipboard
open val Sampler1D: VarType
Link copied to clipboard
open val Sampler2D: VarType
Link copied to clipboard
open val Sampler3D: VarType
Link copied to clipboard
Link copied to clipboard
open val SByte1: VarType
Link copied to clipboard
open val SByte2: VarType
Link copied to clipboard
open val SByte3: VarType
Link copied to clipboard
open val SByte4: VarType
Link copied to clipboard
open val Short1: VarType
Link copied to clipboard
open val Short2: VarType
Link copied to clipboard
open val Short3: VarType
Link copied to clipboard
open val Short4: VarType
Link copied to clipboard
open val SInt1: VarType
Link copied to clipboard
open val SInt2: VarType
Link copied to clipboard
open val SInt3: VarType
Link copied to clipboard
open val SInt4: VarType
Link copied to clipboard
open val SShort1: VarType
Link copied to clipboard
open val SShort2: VarType
Link copied to clipboard
open val SShort3: VarType
Link copied to clipboard
open val SShort4: VarType
Link copied to clipboard
open val TVOID: VarType
Link copied to clipboard
open val UByte1: VarType
Link copied to clipboard
open val UByte2: VarType
Link copied to clipboard
open val UByte3: VarType
Link copied to clipboard
open val UByte4: VarType
Link copied to clipboard
open val UShort1: VarType
Link copied to clipboard
open val UShort2: VarType
Link copied to clipboard
open val UShort3: VarType
Link copied to clipboard
open val UShort4: VarType
Link copied to clipboard
Link copied to clipboard
open val Operand.w: Operand
Link copied to clipboard
open val Operand.x: Operand
Link copied to clipboard
open val Operand.y: Operand
Link copied to clipboard
open val Operand.z: Operand

Functions

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
open fun abs(v: Operand): Operand
Link copied to clipboard
open fun acos(arg: Operand): Operand
Link copied to clipboard
open infix fun Operand.and(that: Operand): Operand
Link copied to clipboard
open fun asin(arg: Operand): Operand
Link copied to clipboard
Link copied to clipboard
open fun atan(y_over_x: Operand): Operand
open fun atan(y: Operand, x: Operand): Operand
Link copied to clipboard
fun BREAK()
Link copied to clipboard
open fun ceil(v: Operand): Operand
Link copied to clipboard
open fun clamp(v: Operand, min: Operand, max: Operand): Operand
Link copied to clipboard
open fun clamp01(v: Operand): Operand
Link copied to clipboard
fun CONTINUE()
Link copied to clipboard
open fun cos(arg: Operand): Operand
Link copied to clipboard
Link copied to clipboard
fun createTemp(type: VarType): Temp
fun createTemp(type: VarType, arrayCount: Int): Temp
Link copied to clipboard
open fun cross(a: Operand, b: Operand): Operand
Link copied to clipboard
open fun degrees(arg: Operand): Operand
Link copied to clipboard
open fun dFdx(a: Operand): Operand
Link copied to clipboard
open fun dFdy(a: Operand): Operand
Link copied to clipboard
fun DISCARD()
Link copied to clipboard
open fun distance(a: Operand, b: Operand): Operand
Link copied to clipboard
open operator fun Operand.div(that: Operand): Operand
open operator fun Operand.div(that: Float): Operand
open operator fun Float.div(that: Operand): Operand
Link copied to clipboard
open fun dot(a: Operand, b: Operand): Operand
Link copied to clipboard
infix fun Program.Stm.If.ELSE(callback: Program.Builder.() -> Unit)
Link copied to clipboard
Link copied to clipboard
open infix fun Operand.eq(that: Operand): Operand
open infix fun Operand.eq(that: Float): Operand
Link copied to clipboard
open fun exp(v: Operand): Operand
Link copied to clipboard
open fun exp2(v: Operand): Operand
Link copied to clipboard
open fun faceforward(a: Operand, b: Operand, c: Operand): Operand
Link copied to clipboard
open fun float(v: Operand): Operand
Link copied to clipboard
open fun floor(v: Operand): Operand
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
inline fun FOR_0_UNTIL_FIXED_BREAK(len: Operand, maxLen: Int = 1024, callback: Program.Builder.(Operand) -> Unit): Program.Stm.ForSimple
Link copied to clipboard
open fun fract(v: Operand): Operand

The fractional part of v. This is calculated as v - floor(v).

Link copied to clipboard
fun FUNC(p0: VarType, p1: VarType, p2: VarType, dummy: Unit = Unit, returns: VarType, block: Program.Builder.FuncBuilder.(p0: Arg, p1: Arg, p2: Arg) -> Unit): Program.Builder.FuncProvider<Program.FuncRef3>
fun FUNC(p0: VarType, p1: VarType, p2: VarType, p3: VarType, dummy: Unit = Unit, returns: VarType, block: Program.Builder.FuncBuilder.(p0: Arg, p1: Arg, p2: Arg, p3: Arg) -> Unit): Program.Builder.FuncProvider<Program.FuncRef4>
fun FUNC(p0: VarType, p1: VarType, p2: VarType, p3: VarType, p4: VarType, dummy: Unit = Unit, returns: VarType, block: Program.Builder.FuncBuilder.(p0: Arg, p1: Arg, p2: Arg, p3: Arg, p4: Arg) -> Unit): Program.Builder.FuncProvider<Program.FuncRef5>
Link copied to clipboard
open fun func(name: String, vararg args: Operand): Operand
Link copied to clipboard
Link copied to clipboard
open fun fwidth(a: Operand): Operand
Link copied to clipboard
open infix fun Operand.ge(that: Operand): Operand
open infix fun Operand.ge(that: Float): Operand
Link copied to clipboard
open operator fun Operand.get(index: Int): Operand
open operator fun Operand.get(swizzle: String): Operand
Link copied to clipboard
open infix fun Operand.gt(that: Operand): Operand
open infix fun Operand.gt(that: Float): Operand
Link copied to clipboard
inline fun IF(cond: Operand, callback: Program.Builder.() -> Unit): Program.Stm.If
Link copied to clipboard
fun IF_ELSE_BINARY_LOOKUP(ref: Operand, min: Int, max: Int, block: Program.Builder.(Int) -> Unit)
Link copied to clipboard
fun IF_ELSE_LIST(ref: Operand, min: Int, max: Int, block: Program.Builder.(Int) -> Unit)
Link copied to clipboard
open fun Operand.inRange(low: Operand, high: Operand): Operand
Link copied to clipboard
open fun int(v: Operand): Operand
Link copied to clipboard
Link copied to clipboard
open infix fun Operand.le(that: Operand): Operand
open infix fun Operand.le(that: Float): Operand
Link copied to clipboard
open fun length(a: Operand): Operand
Link copied to clipboard
open fun lit(type: VarType, vararg ops: Operand): Operand
Link copied to clipboard
open fun log(v: Operand): Operand
Link copied to clipboard
open fun log2(v: Operand): Operand
Link copied to clipboard
open infix fun Operand.lt(that: Operand): Operand
open infix fun Operand.lt(that: Float): Operand
Link copied to clipboard
open fun mat2(vararg ops: Operand): Operand
Link copied to clipboard
open fun mat3(vararg ops: Operand): Operand
Link copied to clipboard
open fun mat4(vararg ops: Operand): Operand
Link copied to clipboard
open fun max(a: Operand, b: Operand): Operand
Link copied to clipboard
open fun min(a: Operand, b: Operand): Operand
Link copied to clipboard
open operator fun Operand.minus(that: Operand): Operand
open operator fun Operand.minus(that: Float): Operand
open operator fun Float.minus(that: Operand): Operand
Link copied to clipboard
open fun mix(a: Operand, b: Operand, step: Operand): Operand
Link copied to clipboard
open fun mod(a: Operand, b: Operand): Operand
Link copied to clipboard
open infix fun Operand.ne(that: Operand): Operand
open infix fun Operand.ne(that: Float): Operand
Link copied to clipboard
open fun normalize(a: Operand): Operand
Link copied to clipboard
open fun Operand.not(): Operand
Link copied to clipboard
open infix fun Operand.or(that: Operand): Operand
Link copied to clipboard
open operator fun Operand.plus(that: Operand): Operand
open operator fun Operand.plus(that: Float): Operand
open operator fun Float.plus(that: Operand): Operand
Link copied to clipboard
open fun pow(b: Operand, e: Operand): Operand
Link copied to clipboard
fun PUT(shader: Shader)
Link copied to clipboard
open fun radians(arg: Operand): Operand
Link copied to clipboard
open fun reflect(a: Operand, b: Operand): Operand
Link copied to clipboard
open fun refract(a: Operand, b: Operand, c: Operand): Operand
Link copied to clipboard
open operator fun Operand.rem(that: Operand): Operand
open operator fun Operand.rem(that: Float): Operand
open operator fun Float.rem(that: Operand): Operand
Link copied to clipboard
fun RETURN(operand: Operand? = null)
Link copied to clipboard
fun SET(target: Operand, expr: Operand)
Link copied to clipboard
infix fun Operand.set(from: Operand)
Link copied to clipboard
infix fun Operand.setTo(from: Operand)
Link copied to clipboard
open fun sign(v: Operand): Operand
Link copied to clipboard
open fun sin(arg: Operand): Operand
Link copied to clipboard
open fun smoothstep(a: Operand, b: Operand, c: Operand): Operand
Link copied to clipboard
open fun sqrt(v: Operand): Operand
Link copied to clipboard
open fun step(a: Operand, b: Operand): Operand
Link copied to clipboard
open fun tan(arg: Operand): Operand
Link copied to clipboard
fun TEMP(type: VarType): Temp
Link copied to clipboard
open fun TERNARY(cond: Operand, otrue: Operand, ofalse: Operand): Operand
Link copied to clipboard
Link copied to clipboard
open fun texture(sampler: Operand, P: Operand): Operand
Link copied to clipboard
open fun texture2D(sampler: Operand, coord: Operand): Operand
Link copied to clipboard
Link copied to clipboard
open operator fun Operand.times(that: Operand): Operand
open operator fun Operand.times(that: Float): Operand
open operator fun Float.times(that: Operand): Operand
Link copied to clipboard
open operator fun Operand.unaryMinus(): Operand
Link copied to clipboard
open fun vec1(vararg ops: Operand): Operand
open fun vec1(vararg ops: Float): Operand
Link copied to clipboard
open fun vec2(vararg ops: Operand): Operand
open fun vec2(vararg ops: Float): Operand
Link copied to clipboard
open fun vec3(vararg ops: Operand): Operand
open fun vec3(vararg ops: Float): Operand
Link copied to clipboard
open fun vec4(vararg ops: Operand): Operand
open fun vec4(vararg ops: Float): Operand
Link copied to clipboard