All Downloads are FREE. Search and download functionalities are using the official Maven repository.

commonMain.dsl.functions.Sampler3DFunctions.kt Maven / Gradle / Ivy

package org.openrndr.orsl.shadergenerator.dsl.functions

import org.openrndr.orsl.shadergenerator.dsl.*
import org.openrndr.orsl.shadergenerator.dsl.Generator
import org.openrndr.math.*
import kotlin.jvm.JvmName

@Suppress("INAPPLICABLE_JVM_NAME")
interface Sampler3DFunctions : Generator {
    @JvmName("getSs3Sv3")
    operator fun Symbol.get(uvw: Symbol): Symbol =
        functionSymbol(this, uvw, "texture($0, $1)")

    @JvmName("getSs3Sv3Sd")
    operator fun Symbol.get(uvw: Symbol, lod: Symbol): Symbol =
        Function3Symbol(p0 = this, p1 = uvw, p2 = lod, function = "textureLod($0, $1, $2)", type = "vec4")

    @JvmName("sizeSs3Vi")
    fun Symbol.size(level: Int = 0): Symbol =
        functionSymbol(this, level, "textureSize($0, $1)")

    @JvmName("fetchSs3Sv2Vi")
    fun Symbol.fetch(uv: Symbol, lod: Symbol): Symbol =
        functionSymbol(this, uv, lod, "texelFetch($0, $1)")

}




© 2015 - 2024 Weber Informatics LLC | Privacy Policy