Rework API graphique Vulkan - EnTT pour ECS + Chargement modèle 3D assimp + SDL3 pour events input et fenetre + mesh texture camera transform ok + attention tous les assets nouveaus ne sont pas commités et il y a du code test en dur dans scene addentity + restructuration globale

This commit is contained in:
Tom Ray
2026-03-14 20:24:17 +01:00
parent 7c352bc280
commit 6695d46bcd
672 changed files with 238656 additions and 1821 deletions

View File

@@ -0,0 +1,38 @@
struct S_cbPerObjectBones
{
float4 v4Bones[4095];
};
shared cbuffer _cbPerObjectBones : register(b4)
{
S_cbPerObjectBones cbPerObjectBones;
};
struct v2f
{
float4 HPosition: SV_POSITION;
float4 Position: POSITION;
};
struct a2v_StandardWeighted
{
float4 Position: POSITION0;
int4 Indices: BLENDINDICES;
};
float3x4 FailFunc(int4 i, float4 v4Bones[4095])
{
float4 mRow1 = v4Bones[i.x+0];
return float3x4(mRow1, mRow1, mRow1);
}
v2f Test_VS(a2v_StandardWeighted input)
{
v2f OUT=(v2f)0;
float4 inputPosition = float4(input.Position.xyz, 1);
int4 i = input.Indices;
float3x4 mMatrix = FailFunc(i, cbPerObjectBones.v4Bones);
float4 v4Position = float4(mul(mMatrix, inputPosition), 1);
OUT.Position = v4Position;
return OUT;
}

View File

@@ -0,0 +1,262 @@
%YAML 1.1
---
all_type_descriptions:
- &td0
id: 9
op: 28
type_name:
struct_member_name: "v4Bones"
storage_class: 0 # UniformConstant
type_flags: 0x20000108 # ARRAY 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: 1, dims: [4095,], stride: 16 }
member_count: 0
members:
- &td1
id: 7
op: 30
type_name: "S_cbPerObjectBones"
struct_member_name: "cbPerObjectBones"
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: 1
members:
- *td0
- &td2
id: 6
op: 30
type_name: "type._cbPerObjectBones"
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: 1
members:
- *td1
- &td3
id: 11
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:
- &td4
id: 19
op: 23
type_name:
struct_member_name:
storage_class: -1 # NOT APPLICABLE
type_flags: 0x00000104 # VECTOR INT
decoration_flags: 0x00000000 # NONE
traits:
numeric:
scalar: { width: 32, signedness: 1 }
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:
all_block_variables:
- &bv0
name: "v4Bones"
offset: 0
absolute_offset: 0
size: 65520
padded_size: 65520
decorations: 0x00000000 # NONE
numeric:
scalar: { width: 32, signedness: 0 }
vector: { component_count: 4 }
matrix: { column_count: 0, row_count: 0, stride: 0 }
array: { dims_count: 1, dims: [4095,], stride: 16 }
flags: 0x00000000 # NONE
member_count: 0
members:
type_description: *td0
- &bv1
name: "cbPerObjectBones"
offset: 0
absolute_offset: 0
size: 65520
padded_size: 65520
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 }
flags: 0x00000000 # NONE
member_count: 1
members:
- *bv0
type_description: *td1
- &bv2
name: "_cbPerObjectBones"
offset: 0
absolute_offset: 0
size: 65520
padded_size: 65520
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 }
flags: 0x00000000 # NONE
member_count: 1
members:
- *bv1
type_description: *td2
all_descriptor_bindings:
- &db0
spirv_id: 8
name: "_cbPerObjectBones"
binding: 4
input_attachment_index: 0
set: 0
decoration_flags: 0x00000000 # NONE
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: *bv2 # "_cbPerObjectBones"
array: { dims_count: 0, dims: [] }
accessed: 1
uav_counter_id: 4294967295
uav_counter_binding:
type_description: *td2
word_offset: { binding: 105, set: 101 }
all_interface_variables:
- &iv0
spirv_id: 2
name: "in.var.POSITION0"
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: *td3
word_offset: { location: 89 }
- &iv1
spirv_id: 3
name: "in.var.BLENDINDICES"
location: 1
storage_class: 1 # Input
semantic:
decoration_flags: 0x00000000 # NONE
built_in: -1 # ??? (-1)
numeric:
scalar: { width: 32, signedness: 1 }
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: 108 # VK_FORMAT_R32G32B32A32_SINT
type_description: *td4
word_offset: { location: 93 }
- &iv2
spirv_id: 4
name:
location: 4294967295
storage_class: 3 # Output
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: 109 # VK_FORMAT_R32G32B32A32_SFLOAT
type_description: *td3
word_offset: { location: 0 }
- &iv3
spirv_id: 5
name: "out.var.POSITION"
location: 0
storage_class: 3 # Output
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: *td3
word_offset: { location: 97 }
module:
generator: 14 # Google spiregg
entry_point_name: "Test_VS"
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 # "_cbPerObjectBones"
descriptor_set_count: 1
descriptor_sets:
- set: 0
binding_count: 1
bindings:
- *db0 # "_cbPerObjectBones"
input_variable_count: 2,
input_variables:
- *iv0 # "in.var.POSITION0"
- *iv1 # "in.var.BLENDINDICES"
output_variable_count: 2,
output_variables:
- *iv2 #
- *iv3 # "out.var.POSITION"
push_constant_count: 0,
push_constants:
specialization_constant_count: 0,
specialization_constants:
...

View File

@@ -0,0 +1,262 @@
%YAML 1.1
---
all_type_descriptions:
- &td0
id: 18
op: 28
type_name:
struct_member_name: "v4Bones"
storage_class: 0 # UniformConstant
type_flags: 0x20000108 # ARRAY 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: 1, dims: [4095,], stride: 16 }
member_count: 0
members:
- &td1
id: 17
op: 30
type_name: "S_cbPerObjectBones"
struct_member_name: "cbPerObjectBones"
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: 1
members:
- *td0
- &td2
id: 16
op: 30
type_name: "type._cbPerObjectBones"
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: 1
members:
- *td1
- &td3
id: 8
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:
- &td4
id: 23
op: 23
type_name:
struct_member_name:
storage_class: -1 # NOT APPLICABLE
type_flags: 0x00000104 # VECTOR INT
decoration_flags: 0x00000000 # NONE
traits:
numeric:
scalar: { width: 32, signedness: 1 }
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:
all_block_variables:
- &bv0
name: "v4Bones"
offset: 0
absolute_offset: 0
size: 65520
padded_size: 65520
decorations: 0x00000000 # NONE
numeric:
scalar: { width: 32, signedness: 0 }
vector: { component_count: 4 }
matrix: { column_count: 0, row_count: 0, stride: 0 }
array: { dims_count: 1, dims: [4095,], stride: 16 }
flags: 0x00000000 # NONE
member_count: 0
members:
type_description: *td0
- &bv1
name: "cbPerObjectBones"
offset: 0
absolute_offset: 0
size: 65520
padded_size: 65520
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 }
flags: 0x00000000 # NONE
member_count: 1
members:
- *bv0
type_description: *td1
- &bv2
name: "_cbPerObjectBones"
offset: 0
absolute_offset: 0
size: 65520
padded_size: 65520
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 }
flags: 0x00000000 # NONE
member_count: 1
members:
- *bv1
type_description: *td2
all_descriptor_bindings:
- &db0
spirv_id: 6
name: "_cbPerObjectBones"
binding: 4
input_attachment_index: 0
set: 0
decoration_flags: 0x00000000 # NONE
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: *bv2 # "_cbPerObjectBones"
array: { dims_count: 0, dims: [] }
accessed: 1
uav_counter_id: 4294967295
uav_counter_binding:
type_description: *td2
word_offset: { binding: 213, set: 209 }
all_interface_variables:
- &iv0
spirv_id: 2
name: "in.var.POSITION0"
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: *td3
word_offset: { location: 197 }
- &iv1
spirv_id: 3
name: "in.var.BLENDINDICES"
location: 1
storage_class: 1 # Input
semantic:
decoration_flags: 0x00000000 # NONE
built_in: -1 # ??? (-1)
numeric:
scalar: { width: 32, signedness: 1 }
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: 108 # VK_FORMAT_R32G32B32A32_SINT
type_description: *td4
word_offset: { location: 201 }
- &iv2
spirv_id: 4
name:
location: 4294967295
storage_class: 3 # Output
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: 109 # VK_FORMAT_R32G32B32A32_SFLOAT
type_description: *td3
word_offset: { location: 0 }
- &iv3
spirv_id: 5
name: "out.var.POSITION"
location: 0
storage_class: 3 # Output
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: *td3
word_offset: { location: 205 }
module:
generator: 14 # Google spiregg
entry_point_name: "Test_VS"
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 # "_cbPerObjectBones"
descriptor_set_count: 1
descriptor_sets:
- set: 0
binding_count: 1
bindings:
- *db0 # "_cbPerObjectBones"
input_variable_count: 2,
input_variables:
- *iv0 # "in.var.POSITION0"
- *iv1 # "in.var.BLENDINDICES"
output_variable_count: 2,
output_variables:
- *iv2 #
- *iv3 # "out.var.POSITION"
push_constant_count: 0,
push_constants:
specialization_constant_count: 0,
specialization_constants:
...

View File

@@ -0,0 +1,42 @@
/*
Compile command:
dxc.exe -T vs_6_0 -spirv -E Test_VS -Fo rocketz.spv rocketz.hlsl
*/
struct S_cbPerObjectBones {
float4 v4Bones[4095];
};
shared cbuffer _cbPerObjectBones : register(b4)
{
S_cbPerObjectBones cbPerObjectBones;
};
struct v2f {
float4 HPosition : SV_POSITION;
float4 Position : POSITION;
};
struct a2v_StandardWeighted {
float4 Position : POSITION0;
int4 Indices : BLENDINDICES;
};
float3x4 FailFunc(int4 i, float4 v4Bones[4095])
{
float4 mRow1 = v4Bones[i.x + 0];
return float3x4(mRow1, mRow1, mRow1);
}
v2f Test_VS(a2v_StandardWeighted input)
{
v2f OUT = (v2f)0;
float4 inputPosition = float4(input.Position.xyz, 1);
int4 i = input.Indices;
float3x4 mMatrix = FailFunc(i, cbPerObjectBones.v4Bones);
float4 v4Position = float4(mul(mMatrix, inputPosition), 1);
OUT.Position = v4Position;
return OUT;
}

Binary file not shown.

View File

@@ -0,0 +1,262 @@
%YAML 1.1
---
all_type_descriptions:
- &td0
id: 9
op: 28
type_name:
struct_member_name: "v4Bones"
storage_class: 0 # UniformConstant
type_flags: 0x20000108 # ARRAY 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: 1, dims: [4095,], stride: 16 }
member_count: 0
members:
- &td1
id: 7
op: 30
type_name: "S_cbPerObjectBones"
struct_member_name: "cbPerObjectBones"
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: 1
members:
- *td0
- &td2
id: 6
op: 30
type_name: "type._cbPerObjectBones"
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: 1
members:
- *td1
- &td3
id: 11
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:
- &td4
id: 19
op: 23
type_name:
struct_member_name:
storage_class: -1 # NOT APPLICABLE
type_flags: 0x00000104 # VECTOR INT
decoration_flags: 0x00000000 # NONE
traits:
numeric:
scalar: { width: 32, signedness: 1 }
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:
all_block_variables:
- &bv0
name: "v4Bones"
offset: 0
absolute_offset: 0
size: 65520
padded_size: 65520
decorations: 0x00000000 # NONE
numeric:
scalar: { width: 32, signedness: 0 }
vector: { component_count: 4 }
matrix: { column_count: 0, row_count: 0, stride: 0 }
array: { dims_count: 1, dims: [4095,], stride: 16 }
flags: 0x00000000 # NONE
member_count: 0
members:
type_description: *td0
- &bv1
name: "cbPerObjectBones"
offset: 0
absolute_offset: 0
size: 65520
padded_size: 65520
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 }
flags: 0x00000000 # NONE
member_count: 1
members:
- *bv0
type_description: *td1
- &bv2
name: "_cbPerObjectBones"
offset: 0
absolute_offset: 0
size: 65520
padded_size: 65520
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 }
flags: 0x00000000 # NONE
member_count: 1
members:
- *bv1
type_description: *td2
all_descriptor_bindings:
- &db0
spirv_id: 8
name: "_cbPerObjectBones"
binding: 4
input_attachment_index: 0
set: 0
decoration_flags: 0x00000000 # NONE
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: *bv2 # "_cbPerObjectBones"
array: { dims_count: 0, dims: [] }
accessed: 1
uav_counter_id: 4294967295
uav_counter_binding:
type_description: *td2
word_offset: { binding: 105, set: 101 }
all_interface_variables:
- &iv0
spirv_id: 2
name: "in.var.POSITION0"
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: *td3
word_offset: { location: 89 }
- &iv1
spirv_id: 3
name: "in.var.BLENDINDICES"
location: 1
storage_class: 1 # Input
semantic:
decoration_flags: 0x00000000 # NONE
built_in: -1 # ??? (-1)
numeric:
scalar: { width: 32, signedness: 1 }
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: 108 # VK_FORMAT_R32G32B32A32_SINT
type_description: *td4
word_offset: { location: 93 }
- &iv2
spirv_id: 4
name:
location: 4294967295
storage_class: 3 # Output
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: 109 # VK_FORMAT_R32G32B32A32_SFLOAT
type_description: *td3
word_offset: { location: 0 }
- &iv3
spirv_id: 5
name: "out.var.POSITION"
location: 0
storage_class: 3 # Output
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: *td3
word_offset: { location: 97 }
module:
generator: 14 # Google spiregg
entry_point_name: "Test_VS"
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 # "_cbPerObjectBones"
descriptor_set_count: 1
descriptor_sets:
- set: 0
binding_count: 1
bindings:
- *db0 # "_cbPerObjectBones"
input_variable_count: 2,
input_variables:
- *iv0 # "in.var.POSITION0"
- *iv1 # "in.var.BLENDINDICES"
output_variable_count: 2,
output_variables:
- *iv2 #
- *iv3 # "out.var.POSITION"
push_constant_count: 0,
push_constants:
specialization_constant_count: 0,
specialization_constants:
...