Compare commits
3 Commits
008c66e052
...
444c3cbad9
Author | SHA1 | Date | |
---|---|---|---|
444c3cbad9 | |||
2006f81804 | |||
de7b7ba7be |
@ -22,6 +22,7 @@ pub fn new<'a>(
|
||||
device:wgpu::Device,
|
||||
queue:wgpu::Queue,
|
||||
)->crate::compat_worker::INWorker<'a,Instruction>{
|
||||
let mut resize=None;
|
||||
crate::compat_worker::INWorker::new(move |ins:Instruction|{
|
||||
match ins{
|
||||
Instruction::GenerateModels(indexed_model_instances)=>{
|
||||
@ -31,13 +32,20 @@ pub fn new<'a>(
|
||||
graphics.clear();
|
||||
},
|
||||
Instruction::Resize(size,user_settings)=>{
|
||||
println!("Resizing to {:?}",size);
|
||||
config.width=size.width.max(1);
|
||||
config.height=size.height.max(1);
|
||||
surface.configure(&device,&config);
|
||||
graphics.resize(&device,&config,&user_settings);
|
||||
resize=Some((size,user_settings));
|
||||
}
|
||||
Instruction::Render(physics_output,predicted_time,mouse_pos)=>{
|
||||
if let Some((size,user_settings))=&resize{
|
||||
println!("Resizing to {:?}",size);
|
||||
let t0=std::time::Instant::now();
|
||||
config.width=size.width.max(1);
|
||||
config.height=size.height.max(1);
|
||||
surface.configure(&device,&config);
|
||||
graphics.resize(&device,&config,user_settings);
|
||||
println!("Resize took {:?}",t0.elapsed());
|
||||
}
|
||||
//clear every time w/e
|
||||
resize=None;
|
||||
//this has to go deeper somehow
|
||||
let frame=match surface.get_current_texture(){
|
||||
Ok(frame)=>frame,
|
||||
|
19
src/main.rs
19
src/main.rs
@ -64,49 +64,44 @@ fn load_file(path: std::path::PathBuf)->Option<model::IndexedModelInstances>{
|
||||
|
||||
pub fn default_models()->model::IndexedModelInstances{
|
||||
let mut indexed_models = Vec::new();
|
||||
indexed_models.append(&mut model::generate_indexed_model_list_from_obj(obj::ObjData::load_buf(&include_bytes!("../models/teslacyberv3.0.obj")[..]).unwrap(),glam::Vec4::ONE));
|
||||
indexed_models.push(primitives::unit_sphere());
|
||||
indexed_models.push(primitives::unit_cylinder());
|
||||
indexed_models.push(primitives::unit_cube());
|
||||
println!("models.len = {:?}", indexed_models.len());
|
||||
indexed_models[0].instances.push(model::ModelInstance{
|
||||
transform:integer::Planar64Affine3::try_from(glam::Affine3A::from_translation(glam::vec3(10.,0.,-10.))).unwrap(),
|
||||
..Default::default()
|
||||
});
|
||||
//quad monkeys
|
||||
indexed_models[1].instances.push(model::ModelInstance{
|
||||
indexed_models[0].instances.push(model::ModelInstance{
|
||||
transform:integer::Planar64Affine3::try_from(glam::Affine3A::from_translation(glam::vec3(10.,5.,10.))).unwrap(),
|
||||
..Default::default()
|
||||
});
|
||||
indexed_models[1].instances.push(model::ModelInstance{
|
||||
indexed_models[0].instances.push(model::ModelInstance{
|
||||
transform:integer::Planar64Affine3::try_from(glam::Affine3A::from_translation(glam::vec3(20.,5.,10.))).unwrap(),
|
||||
color:glam::vec4(1.0,0.0,0.0,1.0),
|
||||
..Default::default()
|
||||
});
|
||||
indexed_models[1].instances.push(model::ModelInstance{
|
||||
indexed_models[0].instances.push(model::ModelInstance{
|
||||
transform:integer::Planar64Affine3::try_from(glam::Affine3A::from_translation(glam::vec3(10.,5.,20.))).unwrap(),
|
||||
color:glam::vec4(0.0,1.0,0.0,1.0),
|
||||
..Default::default()
|
||||
});
|
||||
indexed_models[1].instances.push(model::ModelInstance{
|
||||
indexed_models[0].instances.push(model::ModelInstance{
|
||||
transform:integer::Planar64Affine3::try_from(glam::Affine3A::from_translation(glam::vec3(20.,5.,20.))).unwrap(),
|
||||
color:glam::vec4(0.0,0.0,1.0,1.0),
|
||||
..Default::default()
|
||||
});
|
||||
//decorative monkey
|
||||
indexed_models[1].instances.push(model::ModelInstance{
|
||||
indexed_models[0].instances.push(model::ModelInstance{
|
||||
transform:integer::Planar64Affine3::try_from(glam::Affine3A::from_translation(glam::vec3(15.,10.,15.))).unwrap(),
|
||||
color:glam::vec4(0.5,0.5,0.5,0.5),
|
||||
attributes:model::CollisionAttributes::Decoration,
|
||||
..Default::default()
|
||||
});
|
||||
//teapot
|
||||
indexed_models[2].instances.push(model::ModelInstance{
|
||||
indexed_models[1].instances.push(model::ModelInstance{
|
||||
transform:integer::Planar64Affine3::try_from(glam::Affine3A::from_scale_rotation_translation(glam::vec3(0.5, 1.0, 0.2),glam::quat(-0.22248298016985793,-0.839457167990537,-0.05603504040830783,-0.49261857546227916),glam::vec3(-10.,7.,10.))).unwrap(),
|
||||
..Default::default()
|
||||
});
|
||||
//ground
|
||||
indexed_models[3].instances.push(model::ModelInstance{
|
||||
indexed_models[2].instances.push(model::ModelInstance{
|
||||
transform:integer::Planar64Affine3::try_from(glam::Affine3A::from_translation(glam::vec3(0.,0.,0.))*glam::Affine3A::from_scale(glam::vec3(160.0, 1.0, 160.0))).unwrap(),
|
||||
..Default::default()
|
||||
});
|
||||
|
1
tools/surf_maps
Symbolic link
1
tools/surf_maps
Symbolic link
@ -0,0 +1 @@
|
||||
/run/media/quat/Files/Documents/map-files/verify-scripts/maps/surf_all/
|
Loading…
x
Reference in New Issue
Block a user