Yotsuba Shader
Documentación

Referencia

Valores integrados en todas las sintaxis

El mismo valor integrado, escrito en las sintaxis HLSL, GLSL, MSL, SPIR-V y WGSL.

Resumen#

Cada valor integrado de una sintaxis, agrupado por etapa y escrito en C#. Elige la pestaña de tu sintaxis. El comentario sobre cada miembro nombra el concepto, así puedes encontrar el mismo valor en cualquier otra pestaña.

BuiltIns.cs
using YotsubaShader.Language;
using YotsubaShader.HlslSyntax;

// Etapa de vertex
public struct VertexBuiltIns
{
    // Posición en clip space (salida de vertex)
    [SV_Position] public Vector4 ClipSpacePosition;

    // Índice de vértice
    [SV_VertexID] public uint VertexIndex;

    // Índice de instancia
    [SV_InstanceID] public uint InstanceIndex;

    // Vértice base
    [SV_StartVertexLocation] public uint BaseVertex;

    // Instancia base
    [SV_StartInstanceLocation] public uint BaseInstance;

    // Distancia de clip
    [SV_ClipDistanceN] public float ClipDistance;

    // Capa del render target
    [SV_RenderTargetArrayIndex] public uint RenderTargetLayer;

    // Índice de viewport
    [SV_ViewportArrayIndex] public uint ViewportIndex;
}

// Etapa de fragment
public struct FragmentBuiltIns
{
    // Coordenada de fragmento
    [SV_Position] public Vector4 FragmentCoordinate;

    // Indicador de cara frontal
    [SV_IsFrontFace] public bool FrontFacingFlag;

    // Profundidad del fragmento (salida)
    [SV_Depth] public float FragmentDepth;

    // Profundidad conservadora
    [SV_DepthGreaterEqual] public float ConservativeDepth;

    // Profundidad conservadora
    [SV_DepthLessEqual] public float ConservativeDepth2;

    // Referencia de stencil (salida)
    [SV_StencilRef] public uint StencilReference;

    // Índice de muestra
    [SV_SampleIndex] public uint SampleIndex;

    // Máscara de muestras
    [SV_Coverage] public uint SampleMask;

    // Índice de primitiva
    [SV_PrimitiveID] public uint PrimitiveIndex;

    // Coordenadas baricéntricas
    [SV_Barycentrics] public Vector4 BarycentricCoordinates;
}

// Etapa de compute
public class ComputeBuiltIns
{
    // Id de invocación global
    [SV_DispatchThreadID] public UInt3 GlobalInvocationId;

    // Id de invocación local
    [SV_GroupThreadID] public UInt3 LocalInvocationId;

    // Índice de invocación local
    [SV_GroupIndex] public uint LocalInvocationIndex;

    // Id de workgroup
    [SV_GroupID] public UInt3 WorkgroupId;

    // Tamaño del workgroup (atributo de método)
    [ShaderStage(Stage.Compute)]
    [numthreads(8, 8, 1)]
    public void Compute() { }
}

Para recursos y slots de binding, consulta Atributos de recursos en todas las sintaxis.

Referencias para imprimir#

La referencia siguiente describe declaraciones de este checkout; no certifica compatibilidad de backends.

Utiliza como referencia actual las páginas de atributos generadas desde el código. Las guías PDF anteriores y su archivo fuente no se han actualizado para esta API y ya no se enlazan como documentación vigente.

Copyright © 2026 Colaboradores de Yotsuba Shader · Licencias · GitHub