1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
---@meta
---@alias ParamType
--- |"texture"
--- |"sampler"
--- |"int"
--- |"uint"
--- |"float"
--- |"vec2"
--- |"vec3"
--- |"vec4"
--- |"mat2"
--- |"mat3"
--- |"mat4"
---@class (exact) Shader: ShaderMethods
---@class ShaderClass: ShaderMethods
local module =
---@class ShaderMethods
local methods =
---Returns the default shader.
---@return Shader
---@nodiscard
---Compile a shader from the source code.
---@param source string
---@return Shader
---@nodiscard
---Return a table of all the shader's parameters.
---@param self Shader
---@return { [string]: ParamType }
---@nodiscard
---Return the type of the param (or `nil` if the param doesn't exist).
---@param self Shader
---@param name string
---@return ParamType?
---@nodiscard
return module