gotta generate mesh from planes
This commit is contained in:
parent
c7db340c82
commit
890974ed11
@ -124,27 +124,21 @@ pub fn convert<'a>(
|
|||||||
for brush in &bsp.brushes{
|
for brush in &bsp.brushes{
|
||||||
let brush_start_idx=brush.brush_side as usize;
|
let brush_start_idx=brush.brush_side as usize;
|
||||||
if let Some(sides)=bsp.brush_sides.get(brush_start_idx..brush_start_idx+brush.num_brush_sides as usize){
|
if let Some(sides)=bsp.brush_sides.get(brush_start_idx..brush_start_idx+brush.num_brush_sides as usize){
|
||||||
let mut mb=model::MeshBuilder::new();
|
let maybe_plane_list:Option<Vec<_>>=sides.iter().map(|side|bsp.plane(side.plane as usize)).collect();
|
||||||
let color=mb.acquire_color_id(glam::Vec4::ONE);
|
if let Some(plane_list)=maybe_plane_list{
|
||||||
let tex=mb.acquire_tex_id(glam::Vec2::ZERO);
|
let mut polygon_list=Vec::new();
|
||||||
let mut polygon_list=Vec::new();
|
let mut mb=model::MeshBuilder::new();
|
||||||
for side in sides{
|
let color=mb.acquire_color_id(glam::Vec4::ONE);
|
||||||
if let Some(displacement)=bsp.displacement(side.displacement_info as usize){
|
let tex=mb.acquire_tex_id(glam::Vec2::ZERO);
|
||||||
if let Some(face)=displacement.face(){
|
|
||||||
let normal=mb.acquire_normal_id(valve_transform(face.normal().into()));
|
for (i0,plane0) in plane_list.iter().enumerate().skip(2){
|
||||||
polygon_list.push(face.vertex_positions().map(|vertex_pos|{
|
for (i1,plane1) in plane_list.iter().enumerate().take(i0){
|
||||||
let pos=mb.acquire_pos_id(valve_transform(vertex_pos.into()));
|
for (i2,plane2) in plane_list.iter().enumerate().take(i1){
|
||||||
mb.acquire_vertex_id(model::IndexedVertex{
|
//TODO
|
||||||
pos,
|
}
|
||||||
tex,
|
|
||||||
normal,
|
|
||||||
color,
|
|
||||||
})
|
|
||||||
}).collect());
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
|
||||||
if !polygon_list.is_empty(){
|
|
||||||
let polygon_groups=model::PolygonGroup::PolygonList(model::PolygonList::new(polygon_list));
|
let polygon_groups=model::PolygonGroup::PolygonList(model::PolygonList::new(polygon_list));
|
||||||
let physics_groups=vec![model::IndexedPhysicsGroup{
|
let physics_groups=vec![model::IndexedPhysicsGroup{
|
||||||
groups:vec![model::PolygonGroupId::new(0)],
|
groups:vec![model::PolygonGroupId::new(0)],
|
||||||
|
Loading…
x
Reference in New Issue
Block a user