Procházet zdrojové kódy

Add dependencies for chrono and egui

Ghastrod před 1 rokem
rodič
revize
bb880327f1
5 změnil soubory, kde provedl 108 přidání a 4 odebrání
  1. 88 0
      Cargo.lock
  2. 2 0
      Cargo.toml
  3. 3 0
      src/fps.rs
  4. 1 0
      src/main.rs
  5. 14 4
      src/state.rs

+ 88 - 0
Cargo.lock

@@ -85,6 +85,12 @@ version = "0.2.2"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fc7eb209b1518d6bb87b283c20095f5228ecda460da70b44f0802523dea6da04"
 
+[[package]]
+name = "android-tzdata"
+version = "0.1.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e999941b234f3131b00bc13c22d06e8c5ff726d1b6318ac7eb276997bbb4fef0"
+
 [[package]]
 name = "android_system_properties"
 version = "0.1.5"
@@ -399,6 +405,20 @@ version = "0.1.1"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "fd16c4719339c4530435d38e511904438d07cce7950afa3718a84ac36c10e89e"
 
+[[package]]
+name = "chrono"
+version = "0.4.37"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "8a0d04d43504c61aa6c7531f1871dd0d418d91130162063b789da00fd7057a5e"
+dependencies = [
+ "android-tzdata",
+ "iana-time-zone",
+ "js-sys",
+ "num-traits",
+ "wasm-bindgen",
+ "windows-targets 0.52.4",
+]
+
 [[package]]
 name = "codespan-reporting"
 version = "0.11.1"
@@ -589,12 +609,35 @@ version = "1.2.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9ea835d29036a4087793836fa931b08837ad5e957da9e23886b29586fb9b6650"
 
+[[package]]
+name = "ecolor"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "fb152797942f72b84496eb2ebeff0060240e0bf55096c4525ffa22dd54722d86"
+
+[[package]]
+name = "egui"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "6d1b8cc14b0b260aa6bd124ef12c8a94f57ffe8e40aa970f3db710c21bb945f3"
+dependencies = [
+ "ahash",
+ "epaint",
+ "nohash-hasher",
+]
+
 [[package]]
 name = "either"
 version = "1.10.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "11157ac094ffbdde99aa67b23417ebdd801842852b500e395a45a9c0aac03e4a"
 
+[[package]]
+name = "emath"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "555a7cbfcc52c81eb5f8f898190c840fa1c435f67f30b7ef77ce7cf6b7dcd987"
+
 [[package]]
 name = "env_filter"
 version = "0.1.0"
@@ -618,6 +661,20 @@ dependencies = [
  "log",
 ]
 
+[[package]]
+name = "epaint"
+version = "0.27.1"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "bd63c37156e949bda80f7e39cc11508bc34840aecf52180567e67cdb2bf1a5fe"
+dependencies = [
+ "ab_glyph",
+ "ahash",
+ "ecolor",
+ "emath",
+ "nohash-hasher",
+ "parking_lot",
+]
+
 [[package]]
 name = "equivalent"
 version = "1.0.1"
@@ -885,6 +942,29 @@ version = "2.1.0"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "9a3a5bfb195931eeb336b2a7b4d761daec841b97f947d34394601737a7bba5e4"
 
+[[package]]
+name = "iana-time-zone"
+version = "0.1.60"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "e7ffbb5a1b541ea2561f8c41c087286cc091e21e556a4f09a8f6cbf17b69b141"
+dependencies = [
+ "android_system_properties",
+ "core-foundation-sys",
+ "iana-time-zone-haiku",
+ "js-sys",
+ "wasm-bindgen",
+ "windows-core",
+]
+
+[[package]]
+name = "iana-time-zone-haiku"
+version = "0.1.2"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "f31827a206f56af32e590ba56d5d2d085f558508192593743f16b2306495269f"
+dependencies = [
+ "cc",
+]
+
 [[package]]
 name = "icrate"
 version = "0.0.4"
@@ -1234,6 +1314,12 @@ version = "1.0.6"
 source = "registry+https://github.com/rust-lang/crates.io-index"
 checksum = "650eef8c711430f1a879fdd01d4745a7deea475becfb90269c06775983bbf086"
 
+[[package]]
+name = "nohash-hasher"
+version = "0.2.0"
+source = "registry+https://github.com/rust-lang/crates.io-index"
+checksum = "2bf50223579dc7cdcfb3bfcacf7069ff68243f8c363f62ffa99cf000a6b9c451"
+
 [[package]]
 name = "nom"
 version = "7.1.3"
@@ -2466,6 +2552,8 @@ version = "0.1.0"
 dependencies = [
  "anyhow",
  "bytemuck",
+ "chrono",
+ "egui",
  "env_logger",
  "glam",
  "image",

+ 2 - 0
Cargo.toml

@@ -8,6 +8,8 @@ edition = "2021"
 [dependencies]
 anyhow = "1.0.81"
 bytemuck = { version = "1.15.0", features = ["derive"] }
+chrono = "0.4.37"
+egui = "0.27.1"
 env_logger = "0.11.3"
 glam = "0.27.0"
 image = "0.25.0"

+ 3 - 0
src/fps.rs

@@ -0,0 +1,3 @@
+pub fn fps(&mut frame_count, &self.start_time){
+
+}

+ 1 - 0
src/main.rs

@@ -6,6 +6,7 @@ mod camera;
 mod camera_controller;
 mod camera_uniform;
 mod camera_controller2;
+mod fps;
 
 fn main() {
     pollster::block_on(window::run());

+ 14 - 4
src/state.rs

@@ -3,7 +3,7 @@ use std::iter;
 use wgpu::util::DeviceExt;
 use winit::{event::WindowEvent, window::Window};
 
-use crate::{camera::{self, Camera}, camera_controller, camera_uniform, vertex::Vertex, vertex_buffer::{VERT2, VERT3, VERTICES}};
+use crate::{camera::{self, Camera}, camera_controller, camera_uniform, fps::fps, vertex::Vertex, vertex_buffer::{VERT2, VERT3, VERTICES}};
 
 
 pub struct State<'a> {
@@ -24,6 +24,8 @@ pub struct State<'a> {
     camera_uniform: camera_uniform::CameraUniform,
     camera_bind_group: wgpu::BindGroup,
     camera_controller: camera_controller::CameraController,
+    frame_count: u32,
+    start_time: std::time::Instant,
 }
 
 impl<'a> State<'a> {
@@ -223,6 +225,9 @@ impl<'a> State<'a> {
         //Camera controller
         let camera_controller = camera_controller::CameraController::new(0.2);
 
+
+        //Start time
+        let start_time = std::time::Instant::now();
         Self {
             surface,
             device,
@@ -237,7 +242,9 @@ impl<'a> State<'a> {
             camera_buffer,
             camera_uniform,
             camera_bind_group,
-            camera_controller
+            camera_controller,
+            start_time,
+            frame_count: 0,
         }
     }
 
@@ -255,14 +262,17 @@ impl<'a> State<'a> {
     }
 
     pub fn input(&mut self, event: &WindowEvent) -> bool {
-        println!("{:?}", event);
+        //println!("{:?}", event);
         self.camera_controller.process_events(event)
     }
 
     pub fn update(&mut self) {
+        self.frame_count += 1;
         self.camera_controller.update_camera(&mut self.camera);
         self.camera_uniform.update_view_proj(&self.camera);
         self.queue.write_buffer(&self.camera_buffer, 0, bytemuck::cast_slice(&[self.camera_uniform]));
+
+        
     }
 
     pub fn render(&mut self) -> Result<(), wgpu::SurfaceError> {
@@ -309,4 +319,4 @@ impl<'a> State<'a> {
 
         Ok(())
     }
-}
+}