Async mesh loading works
This commit is contained in:
parent
4e1abea161
commit
35adad6556
@ -346,7 +346,7 @@ fn setup_mesh_resource(
|
|||||||
render_resources.get_asset_resource(handle, INDEX_BUFFER_ASSET_INDEX),
|
render_resources.get_asset_resource(handle, INDEX_BUFFER_ASSET_INDEX),
|
||||||
)
|
)
|
||||||
} else {
|
} else {
|
||||||
let mesh_asset = meshes.get(&handle).unwrap();
|
if let Some(mesh_asset) = meshes.get(&handle) {
|
||||||
let vertex_bytes = mesh_asset
|
let vertex_bytes = mesh_asset
|
||||||
.get_vertex_buffer_bytes(&vertex_buffer_descriptor)
|
.get_vertex_buffer_bytes(&vertex_buffer_descriptor)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
@ -370,6 +370,10 @@ fn setup_mesh_resource(
|
|||||||
render_resources.set_asset_resource(handle, vertex_buffer, VERTEX_BUFFER_ASSET_INDEX);
|
render_resources.set_asset_resource(handle, vertex_buffer, VERTEX_BUFFER_ASSET_INDEX);
|
||||||
render_resources.set_asset_resource(handle, index_buffer, INDEX_BUFFER_ASSET_INDEX);
|
render_resources.set_asset_resource(handle, index_buffer, INDEX_BUFFER_ASSET_INDEX);
|
||||||
(vertex_buffer, Some(index_buffer))
|
(vertex_buffer, Some(index_buffer))
|
||||||
|
} else {
|
||||||
|
// mesh doesn't exist. it probably hasn't loaded yet
|
||||||
|
return;
|
||||||
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
render_resource_assignments.set_vertex_buffer("Vertex", vertex_buffer, index_buffer);
|
render_resource_assignments.set_vertex_buffer("Vertex", vertex_buffer, index_buffer);
|
||||||
|
@ -11,12 +11,11 @@ fn main() {
|
|||||||
fn setup(
|
fn setup(
|
||||||
command_buffer: &mut CommandBuffer,
|
command_buffer: &mut CommandBuffer,
|
||||||
asset_server: ResMut<AssetServer>,
|
asset_server: ResMut<AssetServer>,
|
||||||
mut meshes: ResMut<Assets<Mesh>>,
|
|
||||||
mut materials: ResMut<Assets<StandardMaterial>>,
|
mut materials: ResMut<Assets<StandardMaterial>>,
|
||||||
) {
|
) {
|
||||||
// load the mesh
|
// load the mesh
|
||||||
let mesh_handle = asset_server
|
let mesh_handle = asset_server
|
||||||
.load_sync(&mut meshes, "assets/models/monkey/Monkey.gltf")
|
.load("assets/models/monkey/Monkey.gltf")
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|
||||||
// create a material for the mesh
|
// create a material for the mesh
|
||||||
|
Loading…
Reference in New Issue
Block a user