ComputeShader

Represents a Compute Shader, which is a type of shader used for general-purpose GPU computations. A Compute Shader can bind images, buffers, and uniforms for processing data on the GPU.

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
abstract fun buffer(name: String, counterBuffer: AtomicCounterBuffer)

Binds an atomic counter buffer to a shader using the specified name.

abstract fun buffer(name: String, shaderStorageBuffer: ShaderStorageBuffer)

Binds a shader storage buffer to a shader using the specified name.

abstract fun buffer(name: String, vertexBuffer: VertexBuffer)

Binds a vertex buffer to a shader using the specified name.

Link copied to clipboard
expect abstract fun close()
Link copied to clipboard
abstract fun destroy()

Destroy the compute shader

Link copied to clipboard
open fun execute(dimensions: IntVector3)

Executes the compute shader using the given dimensions specified by an IntVector3.

abstract fun execute(width: Int = 1, height: Int = 1, depth: Int = 1)

Execute the compute shader

Link copied to clipboard
abstract fun image(name: String, image: Int, imageBinding: Array<out ImageBinding>)

Bind image units to imageBinding array

abstract fun image(name: String, image: Int, imageBinding: ImageBinding)

Bind image unit to imageBinding

Link copied to clipboard
abstract fun uniform(name: String, value: Array<Double>)
abstract fun uniform(name: String, value: Array<ColorRGBa>)
abstract fun uniform(name: String, value: Array<IntVector2>)
abstract fun uniform(name: String, value: Array<IntVector3>)
abstract fun uniform(name: String, value: Array<IntVector4>)
abstract fun uniform(name: String, value: Array<Matrix33>)
abstract fun uniform(name: String, value: Array<Matrix44>)
abstract fun uniform(name: String, value: Array<Vector2>)
abstract fun uniform(name: String, value: Array<Vector3>)
abstract fun uniform(name: String, value: Array<Vector4>)
abstract fun uniform(name: String, value: Boolean)
abstract fun uniform(name: String, value: Double)
abstract fun uniform(name: String, value: Float)
abstract fun uniform(name: String, value: FloatArray)
abstract fun uniform(name: String, value: Int)
abstract fun uniform(name: String, value: IntArray)
abstract fun uniform(name: String, value: ColorRGBa)
abstract fun uniform(name: String, value: BooleanVector2)
abstract fun uniform(name: String, value: BooleanVector3)
abstract fun uniform(name: String, value: BooleanVector4)
abstract fun uniform(name: String, value: IntVector2)
abstract fun uniform(name: String, value: IntVector3)
abstract fun uniform(name: String, value: IntVector4)
abstract fun uniform(name: String, value: Matrix33)
abstract fun uniform(name: String, value: Matrix44)
abstract fun uniform(name: String, value: Vector2)
abstract fun uniform(name: String, value: Vector3)
abstract fun uniform(name: String, value: Vector4)
abstract fun uniform(name: String, x: Float, y: Float)
abstract fun uniform(name: String, x: Float, y: Float, z: Float)
abstract fun uniform(name: String, x: Float, y: Float, z: Float, w: Float)