scratchpad: show physics only
This commit is contained in:
parent
4fa0197120
commit
8e70e31e2e
@ -253,7 +253,10 @@ pub fn brush_to_mesh(bsp:&vbsp::Bsp,brush:&vbsp::Brush)->Result<model::Mesh,Brus
|
|||||||
let physics_groups=vec![model::IndexedPhysicsGroup{
|
let physics_groups=vec![model::IndexedPhysicsGroup{
|
||||||
groups:vec![model::PolygonGroupId::new(0)],
|
groups:vec![model::PolygonGroupId::new(0)],
|
||||||
}];
|
}];
|
||||||
let graphics_groups=vec![];
|
let graphics_groups=vec![model::IndexedGraphicsGroup{
|
||||||
|
render:model::RenderConfigId::new(0),
|
||||||
|
groups:vec![model::PolygonGroupId::new(0)],
|
||||||
|
}];
|
||||||
|
|
||||||
Ok(mb.build(polygon_groups,graphics_groups,physics_groups))
|
Ok(mb.build(polygon_groups,graphics_groups,physics_groups))
|
||||||
}
|
}
|
||||||
|
@ -46,24 +46,25 @@ pub fn convert<'a>(
|
|||||||
const ATTRIBUTE_CONTACT_DEFAULT:gameplay_attributes::CollisionAttributesId=gameplay_attributes::CollisionAttributesId::new(1);
|
const ATTRIBUTE_CONTACT_DEFAULT:gameplay_attributes::CollisionAttributesId=gameplay_attributes::CollisionAttributesId::new(1);
|
||||||
|
|
||||||
//declare all prop models to Loader
|
//declare all prop models to Loader
|
||||||
let prop_models=bsp.static_props().map(|prop|{
|
let prop_models=Vec::new();
|
||||||
//get or create mesh_id
|
// let prop_models=bsp.static_props().map(|prop|{
|
||||||
let mesh_id=mesh_deferred_loader.acquire_mesh_id(prop.model());
|
// //get or create mesh_id
|
||||||
let placement=prop.as_prop_placement();
|
// let mesh_id=mesh_deferred_loader.acquire_mesh_id(prop.model());
|
||||||
model::Model{
|
// let placement=prop.as_prop_placement();
|
||||||
mesh:mesh_id,
|
// model::Model{
|
||||||
attributes:ATTRIBUTE_DECORATION,
|
// mesh:mesh_id,
|
||||||
transform:integer::Planar64Affine3::new(
|
// attributes:ATTRIBUTE_DECORATION,
|
||||||
integer::mat3::try_from_f32_array_2d((
|
// transform:integer::Planar64Affine3::new(
|
||||||
glam::Mat3A::from_diagonal(glam::Vec3::splat(placement.scale))
|
// integer::mat3::try_from_f32_array_2d((
|
||||||
//TODO: figure this out
|
// glam::Mat3A::from_diagonal(glam::Vec3::splat(placement.scale))
|
||||||
*glam::Mat3A::from_quat(glam::Quat::from_array(placement.rotation.into()))
|
// //TODO: figure this out
|
||||||
).to_cols_array_2d()).unwrap(),
|
// *glam::Mat3A::from_quat(glam::Quat::from_array(placement.rotation.into()))
|
||||||
valve_transform(placement.origin.into()),
|
// ).to_cols_array_2d()).unwrap(),
|
||||||
),
|
// valve_transform(placement.origin.into()),
|
||||||
color:glam::Vec4::ONE,
|
// ),
|
||||||
}
|
// color:glam::Vec4::ONE,
|
||||||
}).collect();
|
// }
|
||||||
|
// }).collect();
|
||||||
|
|
||||||
//TODO: make the main map one single mesh with a bunch of different physics groups and graphics groups
|
//TODO: make the main map one single mesh with a bunch of different physics groups and graphics groups
|
||||||
|
|
||||||
@ -74,7 +75,7 @@ pub fn convert<'a>(
|
|||||||
|
|
||||||
let color=mb.acquire_color_id(glam::Vec4::ONE);
|
let color=mb.acquire_color_id(glam::Vec4::ONE);
|
||||||
let mut graphics_groups=Vec::new();
|
let mut graphics_groups=Vec::new();
|
||||||
let mut render_id_to_graphics_group_id=std::collections::HashMap::new();
|
//let mut render_id_to_graphics_group_id=std::collections::HashMap::new();
|
||||||
let polygon_groups=world_model.faces().enumerate().map(|(polygon_group_id,face)|{
|
let polygon_groups=world_model.faces().enumerate().map(|(polygon_group_id,face)|{
|
||||||
let polygon_group_id=model::PolygonGroupId::new(polygon_group_id as u32);
|
let polygon_group_id=model::PolygonGroupId::new(polygon_group_id as u32);
|
||||||
let face_texture=face.texture();
|
let face_texture=face.texture();
|
||||||
@ -104,15 +105,15 @@ pub fn convert<'a>(
|
|||||||
//a render config for it, and then returns the id to that render config
|
//a render config for it, and then returns the id to that render config
|
||||||
let render_id=render_config_deferred_loader.acquire_render_config_id(Some(Cow::Borrowed(face_texture_data.name())));
|
let render_id=render_config_deferred_loader.acquire_render_config_id(Some(Cow::Borrowed(face_texture_data.name())));
|
||||||
//deduplicate graphics groups by render id
|
//deduplicate graphics groups by render id
|
||||||
let graphics_group_id=*render_id_to_graphics_group_id.entry(render_id).or_insert_with(||{
|
// let graphics_group_id=*render_id_to_graphics_group_id.entry(render_id).or_insert_with(||{
|
||||||
let graphics_group_id=graphics_groups.len();
|
// let graphics_group_id=graphics_groups.len();
|
||||||
graphics_groups.push(model::IndexedGraphicsGroup{
|
// graphics_groups.push(model::IndexedGraphicsGroup{
|
||||||
render:render_id,
|
// render:render_id,
|
||||||
groups:vec![],
|
// groups:vec![],
|
||||||
});
|
// });
|
||||||
graphics_group_id
|
// graphics_group_id
|
||||||
});
|
// });
|
||||||
graphics_groups[graphics_group_id].groups.push(polygon_group_id);
|
// graphics_groups[graphics_group_id].groups.push(polygon_group_id);
|
||||||
}
|
}
|
||||||
model::PolygonGroup::PolygonList(model::PolygonList::new(polygon_list))
|
model::PolygonGroup::PolygonList(model::PolygonList::new(polygon_list))
|
||||||
}).collect();
|
}).collect();
|
||||||
@ -128,6 +129,8 @@ pub fn convert<'a>(
|
|||||||
Err(e)=>println!("Brush mesh error: {e}"),
|
Err(e)=>println!("Brush mesh error: {e}"),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
println!("How many brush: {}",bsp.brushes.len());
|
||||||
|
println!("Generated brush models: {}",world_meshes.len()-brush_mesh_start_idx);
|
||||||
|
|
||||||
let world_models:Vec<model::Model>=
|
let world_models:Vec<model::Model>=
|
||||||
//one instance of the main world mesh
|
//one instance of the main world mesh
|
||||||
|
Loading…
x
Reference in New Issue
Block a user