Yotsuba Shader
Documentación

Referencia

Atributos de recursos en todas las sintaxis

Uniform buffers, storage buffers, texturas, samplers y slots de binding en cada sintaxis.

Uniform buffers y storage buffers#

Estos son ejemplos de declaraciones con slots de binding. Los marcadores de acceso dependen de la sintaxis; los ejemplos GLSL y SPIR-V no distinguen el acceso de solo lectura.

Resources.cs
using YotsubaShader.Language;
using YotsubaShader.HlslSyntax;
using YotsubaShader.HlslSyntax.Resources;

public struct Material
{
    public float Exposure;
}

public class Resources
{
    // Uniform buffer, con su slot de binding
    [cbuffer, register(RegisterPrefix.b, 0)]
    public Material Material;

    // Storage buffer de lectura y escritura
    [register(RegisterPrefix.u, 0)]
    public RWStructuredBuffer<float> Output;

    // Storage buffer de solo lectura
    [register("t0")]
    public StructuredBuffer<float> Input;
}

Texturas y samplers#

Una textura y un sampler enlazados a sus slots.

Surface.cs
using YotsubaShader.HlslSyntax;
using YotsubaShader.HlslSyntax.Resources;

public class Surface
{
    [register(RegisterPrefix.t, 0)]
    public Texture2D Albedo;

    // El mismo registro, escrito como cadena: letra + número
    [register("s0")]
    public SamplerState Sampler;
}

Namespaces de recursos#

Los recursos pertenecen al namespace de cada sintaxis, como YotsubaShader.HlslSyntax.Resources o YotsubaShader.SpirvSyntax.Resources. Las declaraciones no demuestran una conversión completa de recursos. Consulta el tutorial de buffers para conocer los constructores actuales.

Copyright © 2026 Colaboradores de Yotsuba Shader · Licencias · GitHub