☰
Index
Modules:
shady
,
shady/backends/dx12
,
shady/backends/glsl
,
shady/backends/glsl3
,
shady/backends/glsl4
,
shady/backends/metal4
,
shady/backends/shared
,
shady/backends/vulkan
,
shady/binary
.
API symbols
`*`:
shared: proc `*`(s: float32; m: Mat4): Mat4
shared: proc `*`(m: Mat4; s: float32): Mat4
`+`:
shared: proc `+`(a, b: Mat4): Mat4
Attribute:
shared: type Attribute
binaryCompute:
binary: BinaryShaderStage.binaryCompute
binaryFragment:
binary: BinaryShaderStage.binaryFragment
BinaryShaderStage:
binary: enum BinaryShaderStage
binaryVertex:
binary: BinaryShaderStage.binaryVertex
compileHlslShader:
binary: proc compileHlslShader(source, sourcePath, outputPath, entryPoint, target: string): string
compileSpirvShader:
binary: proc compileSpirvShader(source, sourcePath, outputPath: string; stage: BinaryShaderStage): string
dFdx:
shared: proc dFdx(a: float32): float32
shared: proc dFdx(a: Vec2): Vec2
shared: proc dFdx(a: Vec3): Vec3
shared: proc dFdx(a: Vec4): Vec4
dFdy:
shared: proc dFdy(a: float32): float32
shared: proc dFdy(a: Vec2): Vec2
shared: proc dFdy(a: Vec3): Vec3
shared: proc dFdy(a: Vec4): Vec4
discardFragment:
shared: proc discardFragment()
emitHlslEntry:
dx12: proc emitHlslEntry(params: openArray[EntryParam]; bodyCode: string; stage: int): string
emitHlslUniformBuffer:
dx12: proc emitHlslUniformBuffer(uniforms: openArray[UniformParam]; register = 0): string
emitMetalEntry:
metal4: proc emitMetalEntry(params: openArray[EntryParam]; bodyCode: string; stage: int; uniforms: openArray[UniformParam] = []; textures: openArray[TextureParam] = []): string
emitMetalUniformBuffer:
metal4: proc emitMetalUniformBuffer(uniforms: openArray[UniformParam]; bufferIndex: int): string
emitVulkanPushConstants:
vulkan: proc emitVulkanPushConstants(uniforms: openArray[UniformParam]): string
emitVulkanUniformBuffer:
vulkan: proc emitVulkanUniformBuffer(uniforms: openArray[UniformParam]; binding: int): string
EntryParam:
dx12: tuple EntryParam
metal4: tuple EntryParam
fmod:
shared: proc fmod(x, y: float32): float32
shared: proc fmod(x: Vec2; y: float32): Vec2
shared: proc fmod(x, y: Vec2): Vec2
shared: proc fmod(x: Vec3; y: float32): Vec3
shared: proc fmod(x, y: Vec3): Vec3
shared: proc fmod(x: Vec4; y: float32): Vec4
shared: proc fmod(x, y: Vec4): Vec4
fract:
shared: proc fract(a: float32): float32
shared: proc fract(a: Vec2): Vec2
shared: proc fract(a: Vec3): Vec3
shared: proc fract(a: Vec4): Vec4
fwidth:
shared: proc fwidth(a: float32): float32
shared: proc fwidth(a: Vec2): Vec2
shared: proc fwidth(a: Vec3): Vec3
shared: proc fwidth(a: Vec4): Vec4
gl_FrontFacing:
shared: var gl_FrontFacing
gl_Position:
shared: var gl_Position
glsl3Desktop:
shared: ShaderTarget.glsl3Desktop
glsl3DesktopExtra:
glsl3: const glsl3DesktopExtra
glsl3DesktopVersion:
glsl3: const glsl3DesktopVersion
glsl3NeedsHighp:
glsl3: proc glsl3NeedsHighp(samplerType: string): bool
glsl3WebGL:
shared: ShaderTarget.glsl3WebGL
glsl3WebGLExtra:
glsl3: const glsl3WebGLExtra
glsl3WebGLVersion:
glsl3: const glsl3WebGLVersion
glsl4Desktop:
shared: ShaderTarget.glsl4Desktop
glsl4DesktopExtra:
glsl4: const glsl4DesktopExtra
glsl4DesktopVersion:
glsl4: const glsl4DesktopVersion
glslDesktop:
shared: const glslDesktop
glslES3:
shared: const glslES3
glslFunctions:
glsl: const glslFunctions
glslGlobals:
glsl: const glslGlobals
glslProcRename:
glsl: proc glslProcRename(t: string): string
GlslTarget:
shared: type GlslTarget
glslTarget:
shared: template glslTarget(): untyped
glslTypeDefault:
glsl: proc glslTypeDefault(t: string): string
glslTypeRename:
glsl: proc glslTypeRename(t: string): string
gl_VertexID:
shared: var gl_VertexID
hlslDX12:
shared: ShaderTarget.hlslDX12
hlslHeader:
dx12: const hlslHeader
hlslInputFieldName:
dx12: proc hlslInputFieldName(name: string): string
hlslOutputFieldName:
dx12: proc hlslOutputFieldName(name: string): string
hlslProcRename:
dx12: proc hlslProcRename(t: string): string
hlslResourceCall:
dx12: proc hlslResourceCall(name: string; args: openArray[string]; firstArgIsSamplerBuffer: bool; firstArgIsShadowSampler: bool): string
hlslSamplerDecl:
dx12: proc hlslSamplerDecl(name: string; register: int; nimType = ""): string
hlslSemantic:
dx12: proc hlslSemantic(name: string; index: int; isOutput: bool): string
hlslTextureDecl:
dx12: proc hlslTextureDecl(name, typ: string; register: int): string
hlslTypeDefault:
dx12: proc hlslTypeDefault(t: string): string
hlslTypeRename:
dx12: proc hlslTypeRename(t: string): string
ImageBuffer:
shared: object ImageBuffer
imageLoad:
shared: proc imageLoad(buffer: var UniformWriteOnly[UImageBuffer]; index: int32): UVec4
imageStore:
shared: proc imageStore(buffer: var Uniform[Sampler2d]; pos: IVec2; color: Vec4)
shared: proc imageStore(buffer: var UniformWriteOnly[ImageBuffer]; index: int32; color: Vec4)
shared: proc imageStore(buffer: var UniformWriteOnly[UImageBuffer]; index: int32; color: UVec4)
mat3:
shared: proc mat3(m: Mat4): Mat3
mat4:
shared: proc mat4(diagonal: float32): Mat4
metalAttribute:
metal4: proc metalAttribute(name: string; index: int; isOutput: bool): string
metalHeader:
metal4: const metalHeader
metalMSL:
shared: ShaderTarget.metalMSL
metalOutputFieldName:
metal4: proc metalOutputFieldName(name: string): string
metalProcRename:
metal4: proc metalProcRename(t: string): string
metalResourceCall:
metal4: proc metalResourceCall(name: string; args: openArray[string]; firstArgIsSamplerBuffer: bool; firstArgIsShadowSampler: bool): string
metalTextureDecl:
metal4: proc metalTextureDecl(name, typ: string; binding, samplerBinding: int): string
metalTypeDefault:
metal4: proc metalTypeDefault(t: string): string
metalTypeRename:
metal4: proc metalTypeRename(t: string): string
reflect:
shared: proc reflect(incident, normal: Vec3): Vec3
Sampler2d:
shared: object Sampler2d
Sampler2dArray:
shared: object Sampler2dArray
Sampler2dShadow:
shared: object Sampler2dShadow
SamplerBuffer:
shared: object SamplerBuffer
SamplerCube:
shared: object SamplerCube
shaderAuto:
shared: ShaderStage.shaderAuto
shaderCompute:
shared: ShaderStage.shaderCompute
shaderFragment:
shared: ShaderStage.shaderFragment
ShaderStage:
shared: enum ShaderStage
shaderStage:
shared: var shaderStage
ShaderTarget:
shared: enum ShaderTarget
shaderTarget:
shared: var shaderTarget
shaderVertex:
shared: ShaderStage.shaderVertex
smoothstep:
shared: proc smoothstep(a, b, x: float32): float32
shared: proc smoothstep(a, b, x: Vec2): Vec2
shared: proc smoothstep(a, b, x: Vec3): Vec3
shared: proc smoothstep(a, b, x: Vec4): Vec4
texelFetch:
shared: proc texelFetch(buffer: Uniform[Sampler2d]; pos: IVec2; level: int): Vec4
shared: proc texelFetch(buffer: Uniform[SamplerBuffer]; index: SomeInteger): Vec4
shared: proc texelFetch(buffer: Uniform[USampler2d]; pos: IVec2; level: int): UVec4
texture:
shared: proc texture(buffer: Uniform[Sampler2d]; pos: Vec2): Vec4
shared: proc texture(buffer: Uniform[Sampler2dShadow]; pos: Vec3): float32
shared: proc texture(buffer: Uniform[SamplerCube]; pos: Vec3): Vec4
textureGrad:
shared: proc textureGrad(s: Uniform[Sampler2d]; uv: Vec3; dUVdx: Vec2; dUVdy: Vec2): Vec4
shared: proc textureGrad(s: Uniform[Sampler2dArray]; uvw: Vec3; dUVdx: Vec2; dUVdy: Vec2): Vec4
textureLod:
shared: proc textureLod(buffer: Uniform[SamplerCube]; pos: Vec3; lod: float32): Vec4
TextureParam:
metal4: tuple TextureParam
textureSize:
shared: proc textureSize(buffer: Uniform[Sampler2d]; level: int): Vec2
shared: proc textureSize(buffer: Uniform[Sampler2dShadow]; level: int): Vec2
shared: proc textureSize(buffer: Uniform[SamplerCube]; level: int): Vec2
toGLSL:
shared: macro toGLSL(s: typed; target: static[GlslTarget]): string
shared: macro toGLSL(s: typed; version = "410"; extra = "precision highp float; "): string
toGLSLInner:
shared: proc toGLSLInner(s: NimNode; target: GlslTarget): string
shared: proc toGLSLInner(s: NimNode; version, extra: string): string
toHLSL:
shared: macro toHLSL(s: typed; stage: static[ShaderStage] = shaderAuto): string
toMSL:
shared: macro toMSL(s: typed; stage: static[ShaderStage] = shaderAuto): string
toShader:
shared: macro toShader(s: typed; target: static[ShaderTarget]; stage: static[ShaderStage] = shaderAuto): string
toShaderInner:
shared: proc toShaderInner(s: NimNode; target: ShaderTarget; stage = shaderAuto): string
UImageBuffer:
shared: object UImageBuffer
Uniform:
shared: type Uniform
UniformParam:
dx12: tuple UniformParam
metal4: tuple UniformParam
vulkan: tuple UniformParam
UniformWriteOnly:
shared: type UniformWriteOnly
USampler2d:
shared: object USampler2d
useVulkanUniformBuffer:
vulkan: proc useVulkanUniformBuffer(uniforms: openArray[UniformParam]): bool
vec4:
shared: proc vec4(c: ColorRGBX): Vec4
vulkanFragmentUniformBinding:
vulkan: const vulkanFragmentUniformBinding
vulkanGlsl450:
shared: ShaderTarget.vulkanGlsl450
vulkanGlsl450Extra:
vulkan: const vulkanGlsl450Extra
vulkanGlsl450Version:
vulkan: const vulkanGlsl450Version
vulkanMaxPushConstantBytes:
vulkan: const vulkanMaxPushConstantBytes
vulkanSamplerDecl:
vulkan: proc vulkanSamplerDecl(name, typ: string; binding: int): string
vulkanUniformBytes:
vulkan: proc vulkanUniformBytes(uniforms: openArray[UniformParam]): int
vulkanUniformSet:
vulkan: const vulkanUniformSet
vulkanVertexUniformBinding:
vulkan: const vulkanVertexUniformBinding
writeShaderSource:
binary: proc writeShaderSource(source, sourcePath: string): string