cargo install cargo-edit
cargo upgrade --ignore-rust-version --incompatible
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
pub fn decompose_matrix( | |
matrix: &nalgebra_glm::Mat4, | |
) -> (nalgebra_glm::Vec3, nalgebra_glm::Quat, nalgebra_glm::Vec3) { | |
let translation = nalgebra_glm::Vec3::new(matrix.m14, matrix.m24, matrix.m34); | |
let (scale_x, scale_y, scale_z) = ( | |
nalgebra_glm::length(&nalgebra_glm::Vec3::new(matrix.m11, matrix.m12, matrix.m13)), | |
nalgebra_glm::length(&nalgebra_glm::Vec3::new(matrix.m21, matrix.m22, matrix.m23)), | |
nalgebra_glm::length(&nalgebra_glm::Vec3::new(matrix.m31, matrix.m32, matrix.m33)), | |
); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
fn visit_graph_recursively<N, E, VM>( | |
graph: &petgraph::graph::DiGraph<N, E>, | |
visit_map: &mut VM, | |
node_idx: petgraph::graph::NodeIndex, | |
) where | |
N: std::fmt::Debug, | |
VM: petgraph::visit::VisitMap<petgraph::graph::NodeIndex>, | |
{ | |
// Mark the current node as visited | |
visit_map.visit(node_idx); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#[derive(Default, Debug, Clone, serde::Serialize, serde::Deserialize)] | |
pub enum Command { | |
#[default] | |
Empty, | |
Exit, | |
} | |
impl Command { | |
pub fn execute(&mut self, context: &mut Context) { |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use std::time::{Instant}; | |
#[derive(Clone)] // Derive the Clone trait to enable cloning of State | |
struct State { | |
// Example fields representing the state of the physics object | |
position: f64, | |
velocity: f64, | |
} | |
// Function to update the physics state of the object |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
/// We derive Deserialize/Serialize so we can persist app state on shutdown. | |
pub struct TemplateApp { | |
angle: f32, | |
rotating_triangle: std::sync::Arc<egui::mutex::Mutex<RotatingTriangle>>, | |
} | |
impl TemplateApp { | |
/// Called once before the first frame. | |
pub fn new<'a>(cc: &'a eframe::CreationContext<'a>) -> Self { | |
let gl = cc.gl.as_ref().expect("Failed to get a GL context"); |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
// [dependencies] | |
// uuid = { version = "1.6.1", features = ["v4"] } | |
use std::collections::{HashMap, VecDeque}; | |
#[derive(Clone, Debug)] | |
pub enum Message { | |
String(String), | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
[package] | |
name = "chitauri" | |
version = "0.1.0" | |
edition = "2021" | |
[dependencies] | |
sdl2 = { version = "0.36.0", features = ["bundled"] } |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
use petgraph::graph::{DiGraph, NodeIndex}; | |
use petgraph::Direction; | |
use nalgebra::{Vector3, Isometry3}; | |
use std::collections::HashMap; | |
#[derive(Debug, Clone)] | |
enum SceneNode { | |
Spatial(SpatialNode), | |
Mesh { base: SpatialNode, vertices: Vec<Vector3<f32>> }, | |
} |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
struct Emulator { | |
register: [u8; 2], // Two general-purpose registers | |
program_counter: usize, | |
memory: [u8; 256], // Simplified memory | |
} | |
enum Instruction { | |
Load(u8, u8), // Load a value into a register | |
Add, // Add two registers | |
Subtract, // Subtract two registers |