%YAML 1.0
---
all_type_descriptions:
  - &td0
    id: 20
    op: 23
    type_name: 
    struct_member_name: "Color"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000108 # VECTOR FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 3 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td1
    id: 19
    op: 22
    type_name: 
    struct_member_name: "Specular"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000008 # FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td2
    id: 19
    op: 22
    type_name: 
    struct_member_name: "Diffuse"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000008 # FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td3
    id: 20
    op: 23
    type_name: 
    struct_member_name: "NormalAdjust"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000108 # VECTOR FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 3 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td4
    id: 19
    op: 22
    type_name: 
    struct_member_name: "Front"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000008 # FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td5
    id: 19
    op: 22
    type_name: 
    struct_member_name: "Back"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000008 # FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td6
    id: 19
    op: 22
    type_name: 
    struct_member_name: "Top"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000008 # FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td7
    id: 19
    op: 22
    type_name: 
    struct_member_name: "Bottom"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000008 # FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td8
    id: 19
    op: 22
    type_name: 
    struct_member_name: "Left"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000008 # FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td9
    id: 19
    op: 22
    type_name: 
    struct_member_name: "Right"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000008 # FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td10
    id: 4
    op: 30
    type_name: "OmniNormalStength"
    struct_member_name: "Strengths"
    storage_class: 0 # UniformConstant
    type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 0, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 6
    members:
      - *td4
      - *td5
      - *td6
      - *td7
      - *td8
      - *td9
  - &td11
    id: 21
    op: 21
    type_name: 
    struct_member_name: "Type"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000004 # INT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td12
    id: 11
    op: 28
    type_name: "ClothProperties"
    struct_member_name: "ClothProperties"
    storage_class: 0 # UniformConstant
    type_flags: 0x30080000 # ARRAY STRUCT EXTERNAL_BLOCK 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 0, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 1, dims: [8,], stride: 64 }
    member_count: 3
    members:
      - *td3
      - *td10
      - *td11
  - &td13
    id: 12
    op: 28
    type_name: 
    struct_member_name: "ClothColors"
    storage_class: 0 # UniformConstant
    type_flags: 0x20000108 # ARRAY VECTOR FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 3 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 1, dims: [8,], stride: 16 }
    member_count: 0
    members:
  - &td14
    id: 13
    op: 28
    type_name: 
    struct_member_name: "Scales"
    storage_class: 0 # UniformConstant
    type_flags: 0x20000008 # ARRAY FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 1, dims: [8,], stride: 16 }
    member_count: 0
    members:
  - &td15
    id: 23
    op: 21
    type_name: 
    struct_member_name: "EnableBitMask"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000004 # INT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 1 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td16
    id: 14
    op: 28
    type_name: "AuxData"
    struct_member_name: "AuxDatArray"
    storage_class: 0 # UniformConstant
    type_flags: 0x30080000 # ARRAY STRUCT EXTERNAL_BLOCK 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 0, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 1, dims: [10,], stride: 784 }
    member_count: 4
    members:
      - *td12
      - *td13
      - *td14
      - *td15
  - &td17
    id: 17
    op: 28
    type_name: "MaterialData"
    struct_member_name: "Material"
    storage_class: 0 # UniformConstant
    type_flags: 0x30080000 # ARRAY STRUCT EXTERNAL_BLOCK 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 0, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 3, dims: [2,2,3,], stride: 7872 }
    member_count: 4
    members:
      - *td0
      - *td1
      - *td2
      - *td16
  - &td18
    id: 28
    op: 24
    type_name: 
    struct_member_name: "ModelMatrix"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000308 # MATRIX VECTOR FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 4 }
        matrix: { column_count: 4, row_count: 4, stride: 16 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td19
    id: 28
    op: 24
    type_name: 
    struct_member_name: "ProjectionMatrix"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000308 # MATRIX VECTOR FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 4 }
        matrix: { column_count: 4, row_count: 4, stride: 16 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td20
    id: 19
    op: 22
    type_name: 
    struct_member_name: "Time"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000008 # FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td21
    id: 20
    op: 23
    type_name: 
    struct_member_name: "Scale"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000108 # VECTOR FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 3 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td22
    id: 18
    op: 28
    type_name: 
    struct_member_name: "UvOffsets"
    storage_class: 0 # UniformConstant
    type_flags: 0x20000108 # ARRAY VECTOR FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 2 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 1, dims: [12,], stride: 16 }
    member_count: 0
    members:
  - &td23
    id: 21
    op: 21
    type_name: 
    struct_member_name: "EnableTarget"
    storage_class: 0 # UniformConstant
    type_flags: 0x00000004 # INT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td24
    id: 8
    op: 30
    type_name: "type.ConstantBuffer.Constants"
    struct_member_name: 
    storage_class: -1 # NOT APPLICABLE
    type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK 
    decoration_flags: 0x00000001 # BLOCK 
    traits:
      numeric:
        scalar: { width: 0, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 7
    members:
      - *td17
      - *td18
      - *td19
      - *td20
      - *td21
      - *td22
      - *td23
  - &td25
    id: 27
    op: 23
    type_name: 
    struct_member_name: 
    storage_class: -1 # NOT APPLICABLE
    type_flags: 0x00000108 # VECTOR FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 4 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td26
    id: 27
    op: 23
    type_name: 
    struct_member_name: 
    storage_class: 0 # UniformConstant
    type_flags: 0x00000108 # VECTOR FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 4 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td27
    id: 19
    op: 22
    type_name: 
    struct_member_name: 
    storage_class: 0 # UniformConstant
    type_flags: 0x00000008 # FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
  - &td28
    id: 35
    op: 28
    type_name: 
    struct_member_name: 
    storage_class: 0 # UniformConstant
    type_flags: 0x20000008 # ARRAY FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 1, dims: [1,], stride: 0 }
    member_count: 0
    members:
  - &td29
    id: 35
    op: 28
    type_name: 
    struct_member_name: 
    storage_class: 0 # UniformConstant
    type_flags: 0x20000008 # ARRAY FLOAT 
    decoration_flags: 0x00000000 # NONE
    traits:
      numeric:
        scalar: { width: 32, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 1, dims: [1,], stride: 0 }
    member_count: 0
    members:
  - &td30
    id: 10
    op: 30
    type_name: "type.gl_PerVertex"
    struct_member_name: 
    storage_class: -1 # NOT APPLICABLE
    type_flags: 0x10080000 # STRUCT EXTERNAL_BLOCK 
    decoration_flags: 0x00000001 # BLOCK 
    traits:
      numeric:
        scalar: { width: 0, signedness: 0 }
        vector: { component_count: 0 }
        matrix: { column_count: 0, row_count: 0, stride: 0 }
      image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
      array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 4
    members:
      - *td26
      - *td27
      - *td28
      - *td29
all_block_variables:
  - &bv0
    name: "Color"
    offset: 0
    absolute_offset: 0
    size: 12
    padded_size: 12
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 3 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td0
  - &bv1
    name: "Specular"
    offset: 12
    absolute_offset: 0
    size: 4
    padded_size: 4
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td1
  - &bv2
    name: "Diffuse"
    offset: 16
    absolute_offset: 0
    size: 4
    padded_size: 16
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td2
  - &bv3
    name: "NormalAdjust"
    offset: 0
    absolute_offset: 0
    size: 12
    padded_size: 16
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 3 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td3
  - &bv4
    name: "Front"
    offset: 0
    absolute_offset: 0
    size: 4
    padded_size: 4
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td4
  - &bv5
    name: "Back"
    offset: 4
    absolute_offset: 0
    size: 4
    padded_size: 4
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td5
  - &bv6
    name: "Top"
    offset: 8
    absolute_offset: 0
    size: 4
    padded_size: 4
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td6
  - &bv7
    name: "Bottom"
    offset: 12
    absolute_offset: 0
    size: 4
    padded_size: 4
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td7
  - &bv8
    name: "Left"
    offset: 16
    absolute_offset: 0
    size: 4
    padded_size: 4
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td8
  - &bv9
    name: "Right"
    offset: 20
    absolute_offset: 0
    size: 4
    padded_size: 12
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td9
  - &bv10
    name: "Strengths"
    offset: 16
    absolute_offset: 0
    size: 32
    padded_size: 32
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 0, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 6
    members:
      - *bv4
      - *bv5
      - *bv6
      - *bv7
      - *bv8
      - *bv9
    type_description: *td10
  - &bv11
    name: "Type"
    offset: 48
    absolute_offset: 0
    size: 4
    padded_size: 16
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td11
  - &bv12
    name: "ClothProperties"
    offset: 0
    absolute_offset: 0
    size: 512
    padded_size: 512
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 0, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 1, dims: [8,], stride: 64 }
    member_count: 3
    members:
      - *bv3
      - *bv10
      - *bv11
    type_description: *td12
  - &bv13
    name: "ClothColors"
    offset: 512
    absolute_offset: 0
    size: 128
    padded_size: 128
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 3 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 1, dims: [8,], stride: 16 }
    member_count: 0
    members:
    type_description: *td13
  - &bv14
    name: "Scales"
    offset: 640
    absolute_offset: 0
    size: 128
    padded_size: 128
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 1, dims: [8,], stride: 16 }
    member_count: 0
    members:
    type_description: *td14
  - &bv15
    name: "EnableBitMask"
    offset: 768
    absolute_offset: 0
    size: 4
    padded_size: 16
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 1 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td15
  - &bv16
    name: "AuxDatArray"
    offset: 32
    absolute_offset: 0
    size: 7840
    padded_size: 7840
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 0, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 1, dims: [10,], stride: 784 }
    member_count: 4
    members:
      - *bv12
      - *bv13
      - *bv14
      - *bv15
    type_description: *td16
  - &bv17
    name: "Material"
    offset: 0
    absolute_offset: 0
    size: 94464
    padded_size: 94464
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 0, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 3, dims: [2,2,3,], stride: 7872 }
    member_count: 4
    members:
      - *bv0
      - *bv1
      - *bv2
      - *bv16
    type_description: *td17
  - &bv18
    name: "ModelMatrix"
    offset: 94464
    absolute_offset: 94464
    size: 64
    padded_size: 64
    decorations: 0x00000004 # ROW_MAJOR 
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 4 }
      matrix: { column_count: 4, row_count: 4, stride: 16 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td18
  - &bv19
    name: "ProjectionMatrix"
    offset: 94528
    absolute_offset: 94528
    size: 64
    padded_size: 64
    decorations: 0x00000004 # ROW_MAJOR 
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 4 }
      matrix: { column_count: 4, row_count: 4, stride: 16 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td19
  - &bv20
    name: "Time"
    offset: 94592
    absolute_offset: 94592
    size: 4
    padded_size: 4
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td20
  - &bv21
    name: "Scale"
    offset: 94596
    absolute_offset: 94596
    size: 12
    padded_size: 12
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 3 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td21
  - &bv22
    name: "UvOffsets"
    offset: 94608
    absolute_offset: 94608
    size: 192
    padded_size: 192
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 2 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 1, dims: [12,], stride: 16 }
    member_count: 0
    members:
    type_description: *td22
  - &bv23
    name: "EnableTarget"
    offset: 94800
    absolute_offset: 94800
    size: 4
    padded_size: 16
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    type_description: *td23
  - &bv24
    name: "MyConstants"
    offset: 0
    absolute_offset: 0
    size: 94816
    padded_size: 94816
    decorations: 0x00000000 # NONE
    numeric:
      scalar: { width: 0, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 7
    members:
      - *bv17
      - *bv18
      - *bv19
      - *bv20
      - *bv21
      - *bv22
      - *bv23
    type_description: *td24
all_descriptor_bindings:
  - &db0
    spirv_id: 9
    name: "MyConstants"
    binding: 0
    input_attachment_index: 0
    set: 0
    descriptor_type: 6 # VK_DESCRIPTOR_TYPE_UNIFORM_BUFFER
    resource_type: 2 # CBV
    image: { dim: 0, depth: 0, arrayed: 0, ms: 0, sampled: 0, image_format: 0 } # dim=1D image_format=Unknown
    block: *bv24 # "MyConstants"
    array: { dims_count: 0, dims: [] }
    accessed: 1
    uav_counter_id: 4294967295
    uav_counter_binding:
    type_description: *td24
    word_offset: { binding: 425, set: 421 }
all_interface_variables:
  - &iv0
    spirv_id: 3
    name: "in.var.POSITION"
    location: 0
    storage_class: 1 # Input
    semantic: 
    decoration_flags: 0x00000000 # NONE
    built_in: -1 # ??? (-1)
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 4 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    format: 109 # VK_FORMAT_R32G32B32A32_SFLOAT
    type_description: *td25
    word_offset: { location: 417 }
  - &iv1
    spirv_id: 0
    name: 
    location: 0
    storage_class: 0 # UniformConstant
    semantic: 
    decoration_flags: 0x00000010 # BUILT_IN 
    built_in: 0 # Position
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 4 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    format: 0 # VK_FORMAT_UNDEFINED
    type_description: *td26
    word_offset: { location: 0 }
  - &iv2
    spirv_id: 0
    name: 
    location: 0
    storage_class: 0 # UniformConstant
    semantic: 
    decoration_flags: 0x00000010 # BUILT_IN 
    built_in: 1 # PointSize
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 0
    members:
    format: 0 # VK_FORMAT_UNDEFINED
    type_description: *td27
    word_offset: { location: 0 }
  - &iv3
    spirv_id: 0
    name: 
    location: 0
    storage_class: 0 # UniformConstant
    semantic: 
    decoration_flags: 0x00000010 # BUILT_IN 
    built_in: 3 # ClipDistance
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 1, dims: [1,], stride: 0 }
    member_count: 0
    members:
    format: 0 # VK_FORMAT_UNDEFINED
    type_description: *td28
    word_offset: { location: 0 }
  - &iv4
    spirv_id: 0
    name: 
    location: 0
    storage_class: 0 # UniformConstant
    semantic: 
    decoration_flags: 0x00000010 # BUILT_IN 
    built_in: 4 # CullDistance
    numeric:
      scalar: { width: 32, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 1, dims: [1,], stride: 0 }
    member_count: 0
    members:
    format: 0 # VK_FORMAT_UNDEFINED
    type_description: *td29
    word_offset: { location: 0 }
  - &iv5
    spirv_id: 2
    name: "gl_PerVertexOut"
    location: 4294967295
    storage_class: 3 # Output
    semantic: 
    decoration_flags: 0x00000011 # BUILT_IN BLOCK 
    built_in: -1 # ??? (-1)
    numeric:
      scalar: { width: 0, signedness: 0 }
      vector: { component_count: 0 }
      matrix: { column_count: 0, row_count: 0, stride: 0 }
    array: { dims_count: 0, dims: [], stride: 0 }
    member_count: 4
    members:
      - *iv1 # 
      - *iv2 # 
      - *iv3 # 
      - *iv4 # 
    format: 0 # VK_FORMAT_UNDEFINED
    type_description: *td30
    word_offset: { location: 0 }
module:
  generator: 14 # Google spiregg
  entry_point_name: "main"
  entry_point_id: 1
  source_language: 5 # HLSL
  source_language_version: 600
  spirv_execution_model: 0 # Vertex
  shader_stage: 0x00000001 # VS
  descriptor_binding_count: 1
  descriptor_bindings:
    - *db0 # "MyConstants"
  descriptor_set_count: 1
  descriptor_sets:
  - set: 0
    binding_count: 1
    bindings:
      - *db0 # "MyConstants"
  input_variable_count: 1,
  input_variables:
    - *iv0 # "in.var.POSITION"
  output_variable_count: 1,
  output_variables:
    - *iv5 # "gl_PerVertexOut"
  push_constant_count: 0,
  push_constants:
...
