|
@@ -35,6 +35,7 @@ struct State<'a> {
|
|
|
window: &'a Window,
|
|
window: &'a Window,
|
|
|
num_vertices: u32,
|
|
num_vertices: u32,
|
|
|
last_frame: Instant,
|
|
last_frame: Instant,
|
|
|
|
|
+ framecount: u64,
|
|
|
frametime: f64,
|
|
frametime: f64,
|
|
|
//sky_pipeline: wgpu::RenderPipeline,
|
|
//sky_pipeline: wgpu::RenderPipeline,
|
|
|
}
|
|
}
|
|
@@ -112,12 +113,12 @@ impl<'a> State<'a> {
|
|
|
|
|
|
|
|
|
|
|
|
|
let plan1 = object::generate_plane(3,3,10.,10.);
|
|
let plan1 = object::generate_plane(3,3,10.,10.);
|
|
|
- println!("{:?}", plan1.positions_list());
|
|
|
|
|
|
|
+ //println!("{:?}", plan1.positions_list());
|
|
|
let plan2 = plan1.clone();
|
|
let plan2 = plan1.clone();
|
|
|
let vertex_buffer = device.create_buffer_init(&wgpu::util::BufferInitDescriptor{
|
|
let vertex_buffer = device.create_buffer_init(&wgpu::util::BufferInitDescriptor{
|
|
|
label: Some("Vertex Buffer 1"),
|
|
label: Some("Vertex Buffer 1"),
|
|
|
contents: bytemuck::cast_slice(&plan1.vertices()),
|
|
contents: bytemuck::cast_slice(&plan1.vertices()),
|
|
|
- usage: wgpu::BufferUsages::VERTEX,
|
|
|
|
|
|
|
+ usage: wgpu::BufferUsages::VERTEX | wgpu::BufferUsages::COPY_DST,
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
let num_vertices = plan2.len();
|
|
let num_vertices = plan2.len();
|
|
@@ -173,6 +174,7 @@ impl<'a> State<'a> {
|
|
|
let delta = 0.2;
|
|
let delta = 0.2;
|
|
|
|
|
|
|
|
//let sky_pipeline = sky::sky_pipeline::new_sky_pipeline(&device, &config);
|
|
//let sky_pipeline = sky::sky_pipeline::new_sky_pipeline(&device, &config);
|
|
|
|
|
+ let framecount: u64 = 0;
|
|
|
|
|
|
|
|
Self {
|
|
Self {
|
|
|
surface,
|
|
surface,
|
|
@@ -192,6 +194,7 @@ impl<'a> State<'a> {
|
|
|
last_frame: last_frame,
|
|
last_frame: last_frame,
|
|
|
frametime: delta,
|
|
frametime: delta,
|
|
|
//sky_pipeline: sky_pipeline
|
|
//sky_pipeline: sky_pipeline
|
|
|
|
|
+ framecount
|
|
|
}
|
|
}
|
|
|
}
|
|
}
|
|
|
|
|
|
|
@@ -233,7 +236,10 @@ impl<'a> State<'a> {
|
|
|
.device
|
|
.device
|
|
|
.create_command_encoder(&wgpu::CommandEncoderDescriptor {
|
|
.create_command_encoder(&wgpu::CommandEncoderDescriptor {
|
|
|
label: Some("Render Encoder"),
|
|
label: Some("Render Encoder"),
|
|
|
- });
|
|
|
|
|
|
|
+ });
|
|
|
|
|
+
|
|
|
|
|
+ //Modify the buffer
|
|
|
|
|
+
|
|
|
|
|
|
|
|
{
|
|
{
|
|
|
let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
|
|
let mut render_pass = encoder.begin_render_pass(&wgpu::RenderPassDescriptor {
|
|
@@ -269,7 +275,8 @@ impl<'a> State<'a> {
|
|
|
|
|
|
|
|
self.frametime = self.last_frame.elapsed().as_micros() as f64;
|
|
self.frametime = self.last_frame.elapsed().as_micros() as f64;
|
|
|
self.last_frame = Instant::now();
|
|
self.last_frame = Instant::now();
|
|
|
-
|
|
|
|
|
|
|
+ self.framecount += 1;
|
|
|
|
|
+ println!("{:?}", self.framecount);
|
|
|
//println!("{:?}", self.frametime);
|
|
//println!("{:?}", self.frametime);
|
|
|
|
|
|
|
|
Ok(())
|
|
Ok(())
|