Yotsuba Shader
Documentación

Artículo

Reutilizar tus tipos y bibliotecas

Anota tipos compatibles de tu proyecto y conoce los límites actuales de las bibliotecas de shaders referenciadas.

Asocia tus tipos a la GPU#

El mapeo de vectores utiliza YotsubaShader.Language.Native.Types.Vector. Marca el tipo con [Vector] y sus componentes ordenados con [VectorComponent(index)]. Los componentes deben compartir un tipo escalar compatible.

C#
using YotsubaShader.Language.Native.Types.Vector;

[Vector]
public struct Float2
{
    [VectorComponent(0)] public float X;
    [VectorComponent(1)] public float Y;

    public Float2(float x, float y) { X = x; Y = y; }
}

Un nombre como Vector2 no aporta semántica de vector nativo. Puedes anotar los tipos que controlas; un ensamblado externo sin modificar no adquiere estos atributos mediante un using. Los structs sin anotar se inspeccionan como campos y propiedades.

Compartir bibliotecas#

Puedes distribuir tipos C# y código fuente de shaders mediante NuGet. La compilación GPU de métodos arbitrarios de bibliotecas no está implementada: el descubrimiento solo busca en el ensamblado actual y el procesamiento de invocaciones está incompleto. Empaquetar código no demuestra compatibilidad GPU.

Copyright © 2026 Colaboradores de Yotsuba Shader · Licencias · GitHub