kitgit

tirbofish/dropbear · commit

6efc74a0ef0f7771540fb57d559d7573bbc4114c

fix: for some reason, the normals were all mixed up. fixed that up fix: made mouse delta be clamped to the FPS fix: got shaders back to working. fix: proc objects use default textures instead of all white (incl emissive and diffuse). jarvis, run github actions

Unverified

Thribhu K <4tkbytes@pm.me> · 2026-02-25 08:49

view full diff

diff --git a/.cargo/config.toml b/.cargo/config.toml
index d2312c6..119d027 100644
--- a/.cargo/config.toml
+++ b/.cargo/config.toml
@@ -1,3 +1,6 @@
 [target.x86_64-unknown-linux-gnu]
 linker = "clang"
 rustflags = ["-C", "link-arg=-fuse-ld=mold", "-C", "relocation-model=pic"]
+
+# note: if you get a compile error such as "Recompile with RPIC", just run `cargo build` 
+# instead of `cargo build -p eucalyptus-core -p eucalyptus-editor`. 
diff --git a/crates/dropbear-engine/src/animation.rs b/crates/dropbear-engine/src/animation.rs
index e067bef..5380ef8 100644
--- a/crates/dropbear-engine/src/animation.rs
+++ b/crates/dropbear-engine/src/animation.rs
@@ -1,9 +1,17 @@
+use crate::buffer::{ResizableBuffer, UniformBuffer};
 use crate::graphics::SharedGraphicsContext;
 use crate::model::{AnimationInterpolation, ChannelValues, Model, NodeTransform};
 use glam::Mat4;
 use std::collections::HashMap;
 use std::sync::Arc;
-use wgpu::util::DeviceExt;
+
+#[repr(C)]
+#[derive(Copy, Clone, Default, Debug, bytemuck::Pod, bytemuck::Zeroable)]
+pub struct MorphTargetInfo {
+    num_vertices: u32,
+    num_targets: u32,
+    _padding: [u32; 2],
+}
 
 #[derive(Debug, Clone, serde::Serialize, serde::Deserialize)]
 pub struct AnimationComponent {
@@ -27,7 +35,13 @@ pub struct AnimationComponent {
     pub skinning_matrices: Vec<Mat4>,
 
     #[serde(skip)]
-    pub bone_buffer: Option<wgpu::Buffer>,
+    pub skinning_buffer: Option<ResizableBuffer<Mat4>>,
+    #[serde(skip)]
+    pub morph_deltas_buffer: Option<ResizableBuffer<f32>>,
+    #[serde(skip)]
+    pub morph_weights_buffer: Option<ResizableBuffer<f32>>,
+    #[serde(skip)]
+    pub morph_info_buffer: Option<UniformBuffer<MorphTargetInfo>>,
 
     #[serde(skip)]
     pub available_animations: Vec<String>,
@@ -37,9 +51,6 @@ pub struct AnimationComponent {

Large diffs are not rendered by default. Showing the first 50 of 1203 lines. Show full diff