kitgit

tirbofish/dropbear · diff

cacb2b8 · Thribhu K

perf: created a DynamicBuffer to improve performance

Unverified

diff --git a/crates/dropbear-engine/src/animation.rs b/crates/dropbear-engine/src/animation.rs
index 1e14b0a..0e67fea 100644
--- a/crates/dropbear-engine/src/animation.rs
+++ b/crates/dropbear-engine/src/animation.rs
@@ -1,4 +1,4 @@
-use crate::buffer::{ResizableBuffer, UniformBuffer};
+use crate::buffer::{DynamicBuffer, UniformBuffer, WritableBuffer};
 use crate::graphics::SharedGraphicsContext;
 use crate::model::{AnimationInterpolation, ChannelValues, Model, NodeTransform};
 use dropbear_utils::Dirty;
@@ -42,11 +42,11 @@ pub struct AnimationComponent {
     pub skinning_matrices: Dirty<Vec<Mat4>>,
 
     #[serde(skip)]
-    pub skinning_buffer: Option<ResizableBuffer<Mat4>>,
+    pub skinning_buffer: Option<DynamicBuffer<Mat4>>,
     #[serde(skip)]
-    pub morph_deltas_buffer: Option<ResizableBuffer<f32>>,
+    pub morph_deltas_buffer: Option<DynamicBuffer<f32>>,
     #[serde(skip)]
-    pub morph_weights_buffer: Option<ResizableBuffer<f32>>,
+    pub morph_weights_buffer: Option<DynamicBuffer<f32>>,
     #[serde(skip)]
     pub morph_info_buffer: Option<UniformBuffer<MorphTargetInfo>>,
 
@@ -506,7 +506,7 @@ impl AnimationComponent {
 
         if has_skinning {
             let buffer = self.skinning_buffer.get_or_insert_with(|| {
-                ResizableBuffer::new(
+                DynamicBuffer::new(
                     &graphics.device,
                     self.skinning_matrices.len(),
                     wgpu::BufferUsages::STORAGE | wgpu::BufferUsages::COPY_DST,
@@ -545,7 +545,7 @@ impl AnimationComponent {
             }
 
             let weights_buffer = self.morph_weights_buffer.get_or_insert_with(|| {
-                ResizableBuffer::new(
+                DynamicBuffer::new(
                     &graphics.device,
                     flat.len().max(1),
                     wgpu::BufferUsages::STORAGE | wgpu::BufferUsages::COPY_DST,
diff --git a/crates/dropbear-engine/src/billboarding.rs b/crates/dropbear-engine/src/billboarding.rs
index ad5e596..a876971 100644
--- a/crates/dropbear-engine/src/billboarding.rs
+++ b/crates/dropbear-engine/src/billboarding.rs
@@ -1,18 +1,18 @@
 use crate::asset::ASSET_REGISTRY;
-use crate::buffer::UniformBuffer;

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