mirror of
https://codeberg.org/icewind/vbspview.git
synced 2026-06-03 10:14:10 +02:00
cleanup transform
This commit is contained in:
parent
8860c38ae0
commit
422df74509
2 changed files with 4 additions and 20 deletions
1
Cargo.lock
generated
1
Cargo.lock
generated
|
|
@ -2636,6 +2636,7 @@ dependencies = [
|
|||
"binrw",
|
||||
"bitflags",
|
||||
"bv",
|
||||
"cgmath",
|
||||
"lzma-rs",
|
||||
"num_enum",
|
||||
"static_assertions",
|
||||
|
|
|
|||
23
src/main.rs
23
src/main.rs
|
|
@ -2,7 +2,6 @@ mod camera;
|
|||
mod loader;
|
||||
|
||||
use camera::FirstPerson;
|
||||
use cgmath::Euler;
|
||||
use itertools::Either;
|
||||
use loader::Loader;
|
||||
use std::env::args;
|
||||
|
|
@ -312,25 +311,9 @@ fn model_to_mesh(model: Handle<vbsp::data::Model>) -> CPUMesh {
|
|||
fn load_prop(loader: &Loader, prop: Handle<StaticPropLump>) -> Result<CPUMesh, Error> {
|
||||
let mut mesh = load_prop_mesh(loader, prop.model())?;
|
||||
|
||||
let translation = Mat4::from_translation(map_coords(prop.origin).into());
|
||||
// manually do axis one by one as source seems to do roll, patch, yaw
|
||||
// while cgmath does yaw, pitch, roll (as directx does?)
|
||||
mesh.transform(&Mat4::from(Euler {
|
||||
x: degrees(0.0),
|
||||
y: degrees(0.0),
|
||||
z: degrees(prop.angles[2]),
|
||||
}));
|
||||
mesh.transform(&Mat4::from(Euler {
|
||||
x: degrees(prop.angles[0]),
|
||||
y: degrees(0.0),
|
||||
z: degrees(0.0),
|
||||
}));
|
||||
mesh.transform(&Mat4::from(Euler {
|
||||
x: degrees(0.0),
|
||||
y: degrees(prop.angles[1]),
|
||||
z: degrees(0.0),
|
||||
}));
|
||||
mesh.transform(&translation);
|
||||
let transform =
|
||||
Mat4::from_translation(map_coords(prop.origin).into()) * Mat4::from(prop.rotation());
|
||||
mesh.transform(&transform);
|
||||
Ok(mesh)
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue