Creates a Shader, which is a small program that runs on the GPU.
Shader code is usually written in GLSL and compiled to SPIR-V bytecode. SPIR-V is faster to load but requires a build step. Either form can be used to create a shader.
Create a graphics shader. It has a vertex stage that computes vertex positions, and a fragment stage that computes pixel colors.
Arguments
Name
Type
Description
vertex
string
A string, path to a file, or Blob containing GLSL or SPIR-V code for the vertex stage. Can also be a DefaultShader to use that shader's vertex code.
fragment
string
A string, path to a file, or Blob containing GLSL or SPIR-V code for the fragment stage. Can also be a DefaultShader to use that shader's fragment code.
options
table
Shader options.
.flags
table
A table of shader flags. The keys of the table should be flag names or flag ID numbers. The values can be numbers or booleans, depending on the type of the flag as declared in the shader.
.label
string
A label to use for the shader in debugging tools.
Returns
Name
Type
Description
shader
Shader
The new shader.
Create a compute shader.
Arguments
Name
Type
Description
compute
string
A string, path to a file, or Blob containing GLSL or SPIR-V code for the compute stage.
options
table
Shader options.
.flags
table
A table of shader flags. The keys of the table should be flag names or flag ID numbers. The values can be numbers or booleans, depending on the type of the flag as declared in the shader.
.label
string
A label to use for the shader in debugging tools.
Returns
Name
Type
Description
shader
Shader
The new shader.
Create a copy of one of the default shaders (used to provide different flags).
Arguments
Name
Type
Description
default
DefaultShader
The default shader to use.
options
table
Shader options.
.flags
table
A table of shader flags. The keys of the table should be flag names or flag ID numbers. The values can be numbers or booleans, depending on the type of the flag as declared in the shader.