Class SlangStructGenerator

java.lang.Object
dev.engine.graphics.shader.SlangStructGenerator

public final class SlangStructGenerator extends Object
Generates Slang struct source code from Java records.

Single source of truth: the Java record defines both the CPU-side memory layout (via StructLayout) AND the GPU-side shader struct.

Supports primitives (float, int, double), vector types (Vec2, Vec3, Vec4), matrices (Mat4), and nested records (generates dependent structs).

  • Method Details

    • generate

      public static String generate(Class<?> recordType)
      Generates a single Slang struct from a Java record.
    • generateWithDependencies

      public static String generateWithDependencies(Class<?> recordType)
      Generates Slang structs for a record and all its record dependencies, in dependency order (dependencies first).
    • generateCbuffer

      public static String generateCbuffer(String name, Class<?> recordType, int binding)
      Generates a Slang cbuffer declaration from a record, inlining all fields.
    • registerType

      public static void registerType(Class<?> javaType, String slangType)
      Registers a custom type mapping (for user-defined types).