forked from StrafesNET/strafe-project
bsp_loader: generate prop matrix with euler angles
This commit is contained in:
parent
a9ef07ce78
commit
ab4a9bb922
@ -93,19 +93,23 @@ pub fn convert<'a>(
|
|||||||
|
|
||||||
//declare all prop models to Loader
|
//declare all prop models to Loader
|
||||||
let mut prop_models=bsp.static_props().map(|prop|{
|
let mut prop_models=bsp.static_props().map(|prop|{
|
||||||
|
const DEG_TO_RAD:f32=std::f32::consts::TAU/360.0;
|
||||||
//get or create mesh_id
|
//get or create mesh_id
|
||||||
let mesh_id=mesh_deferred_loader.acquire_mesh_id(prop.model());
|
let mesh_id=mesh_deferred_loader.acquire_mesh_id(prop.model());
|
||||||
let placement=prop.as_prop_placement();
|
|
||||||
model::Model{
|
model::Model{
|
||||||
mesh:mesh_id,
|
mesh:mesh_id,
|
||||||
attributes:ATTRIBUTE_DECORATION,
|
attributes:ATTRIBUTE_DECORATION,
|
||||||
transform:integer::Planar64Affine3::new(
|
transform:integer::Planar64Affine3::new(
|
||||||
integer::mat3::try_from_f32_array_2d((
|
integer::mat3::try_from_f32_array_2d(
|
||||||
glam::Mat3A::from_diagonal(glam::Vec3::splat(placement.scale))
|
|
||||||
//TODO: figure this out
|
//TODO: figure this out
|
||||||
*glam::Mat3A::from_quat(glam::Quat::from_array(placement.rotation.into()))
|
glam::Mat3A::from_euler(
|
||||||
).to_cols_array_2d()).unwrap(),
|
glam::EulerRot::XYZ,
|
||||||
valve_transform(placement.origin.into()),
|
prop.angles.pitch*DEG_TO_RAD,
|
||||||
|
prop.angles.yaw*DEG_TO_RAD,
|
||||||
|
prop.angles.roll*DEG_TO_RAD
|
||||||
|
).to_cols_array_2d()
|
||||||
|
).unwrap(),
|
||||||
|
valve_transform(prop.origin.into()),
|
||||||
),
|
),
|
||||||
color:glam::Vec4::ONE,
|
color:glam::Vec4::ONE,
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user