@@ -26,12 +26,12 @@ impl<'a> System<'a> for PrepareRendererSystem {
26
26
renderer. texture_samplers . push ( texture_image_sampler) ;
27
27
28
28
// TODO: Batch assets into a large vertex buffer
29
- for mesh in meshes. join ( ) {
29
+ for ( asset_index , mesh) in meshes. join ( ) . enumerate ( ) {
30
30
let asset = GltfAsset :: from_file ( & mesh. mesh_name ) ;
31
31
let number_of_meshes = meshes. join ( ) . count ( ) as u32 ;
32
32
let number_of_materials = asset. textures . len ( ) as u32 ;
33
33
Self :: setup_descriptor_pool ( renderer, number_of_meshes, number_of_materials) ;
34
- Self :: load_mesh ( renderer, & asset) ;
34
+ Self :: load_mesh ( renderer, & asset, asset_index ) ;
35
35
}
36
36
37
37
let number_of_framebuffers = renderer. framebuffers . len ( ) ;
@@ -45,7 +45,7 @@ impl<'a> System<'a> for PrepareRendererSystem {
45
45
}
46
46
47
47
impl PrepareRendererSystem {
48
- fn load_mesh ( renderer : & mut Renderer , asset : & GltfAsset ) {
48
+ fn load_mesh ( renderer : & mut Renderer , asset : & GltfAsset , asset_index : usize ) {
49
49
let uniform_buffer_size = mem:: size_of :: < UniformBufferObject > ( ) as vk:: DeviceSize ;
50
50
let number_of_swapchain_images = renderer. swapchain . images ( ) . len ( ) ;
51
51
@@ -60,8 +60,6 @@ impl PrepareRendererSystem {
60
60
// Start at the root of the node graph
61
61
let mut dfs = Dfs :: new ( & graph, NodeIndex :: new ( 0 ) ) ;
62
62
63
- let mut asset_index = 0 ;
64
-
65
63
// Walk the scene graph
66
64
while let Some ( node_index) = dfs. next ( & graph) {
67
65
// If there is a mesh, handle its primitives
@@ -118,7 +116,6 @@ impl PrepareRendererSystem {
118
116
119
117
renderer. models . push ( model_data) ;
120
118
}
121
- asset_index += 1 ;
122
119
}
123
120
}
124
121
}
@@ -139,17 +136,14 @@ impl PrepareRendererSystem {
139
136
let max_number_of_pools =
140
137
( 2 + number_of_materials + number_of_meshes) * number_of_swapchain_images;
141
138
142
- println ! ( "ubo pool size: {}" , ubo_pool_size) ;
143
- println ! ( "sampler pool size: {}" , sampler_pool_size) ;
144
- println ! ( "max number of pools: {}" , max_number_of_pools) ;
145
-
146
139
// TODO: Push this after all model data has been created
147
140
let descriptor_pool = DescriptorPool :: new (
148
141
renderer. context . clone ( ) ,
149
142
ubo_pool_size,
150
143
sampler_pool_size,
151
144
max_number_of_pools,
152
145
) ;
146
+ println ! ( "Pushed a descriptor pool!" ) ;
153
147
renderer. descriptor_pools . push ( descriptor_pool) ;
154
148
}
155
149
0 commit comments