Ultraviolet

Ultraviolet is a Scala 3 to GLSL 100/300 'inline' transpiler library.

You can use Ultraviolet to generate GLSL shader code for any WebGL use case, such as with ShaderToy, but is primarily designed to support Indigo.

All the shader examples and demos in these docs are written in Ultraviolet and presented using Indigo.

Installation

Check the repo for the latest release number, and substitute the x.y.z below accordingly.

sbt

libraryDependencies += "io.indigoengine" %%% "ultraviolet" % "x.y.z"

Mill

def ivyDeps = Agg(ivy"io.indigoengine::ultraviolet::x.y.z")

Scala-CLI

//> using dep io.indigoengine::ultraviolet:x.y.z