Locations y semánticas de usuario#
[Location(n)] es un atributo concreto de YotsubaShader.SpirvSyntax. YotsubaShader.Concepts.LocationAttribute es su marcador de concepto y no tiene un constructor entero. Son tipos diferentes.
using Microsoft.Xna.Framework;
using YotsubaShader.HlslSyntax;
public struct StageData
{
[SV_Position] public Vector4 Position;
[COLOR] public Vector4 Color;
}
Para las semánticas de usuario HLSL, utiliza [POSITION], [COLOR], [TEXCOORD], [NORMAL], [TANGENT] o [BINORMAL], opcionalmente con un índice. El procesador las convierte en VertexSlot. Las locations numeradas se convierten en LocationSlot.
Procesamiento de built-ins#
El resolver actual de slots procesa posición/coordenadas de fragment según la etapa, índice de vértice, locations numeradas y semánticas de usuario HLSL. Los paquetes de sintaxis declaran muchos built-ins adicionales; su declaración no significa que el resolver los procese.
Utiliza [return: SV_Target(0)] para un retorno de color fragment con sintaxis HLSL. El modelo de autoría permite reutilizar el struct de salida vertex como entrada fragment; su semántica de posición se interpreta según la etapa receptora.
