From 085397223d8280b1d8f2d42d3d7c6d6e5dd48634 Mon Sep 17 00:00:00 2001 From: David Chavez Date: Tue, 27 Jun 2023 01:33:49 +0200 Subject: [PATCH] Fast3D: Update to v0.2.0 --- Cargo.toml | 4 ++-- src/gui/gui_glium.rs | 14 +++++++------- src/gui/windows.rs | 6 +++--- 3 files changed, 12 insertions(+), 12 deletions(-) diff --git a/Cargo.toml b/Cargo.toml index db0c603..6b19fec 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -44,9 +44,9 @@ glutin = { version = "0.29.1", optional = true } wgpu = { version = "0.16", optional = true } spin_sleep = "1.1.1" arie = "0.2.0" -fast3d = { version = "0.1.0", default-features = false } +fast3d = { version = "0.2.0", default-features = false } fast3d-glium-renderer = { git = "https://github.com/retrofoundry/fast3d-rs", optional = true } -fast3d-wgpu-renderer = { version = "0.1.0", optional = true } +fast3d-wgpu-renderer = { version = "0.2.0", optional = true } [patch.crates-io] glium = { git = "https://github.com/retrofoundry/glium", branch = "helix" } diff --git a/src/gui/gui_glium.rs b/src/gui/gui_glium.rs index d45320f..b7f928f 100644 --- a/src/gui/gui_glium.rs +++ b/src/gui/gui_glium.rs @@ -13,7 +13,7 @@ use std::{ffi::CStr, result::Result::Ok, time::Instant}; use winit::platform::run_return::EventLoopExtRunReturn; use crate::gamepad::manager::GamepadManager; -use fast3d::graphics::GraphicsIntermediateDevice; +use fast3d::output::RCPOutput; use fast3d::rcp::RCP; use fast3d::rdp::OutputDimensions; @@ -42,7 +42,7 @@ pub struct Gui<'a> { // game renderer rcp: RCP, - pub intermediate_graphics_device: GraphicsIntermediateDevice, + pub rcp_output: RCPOutput, graphics_device: GliumGraphicsDevice<'a>, } @@ -125,7 +125,7 @@ impl<'a> Gui<'a> { draw_windows_callback: Box::new(draw_windows), gamepad_manager, rcp: RCP::default(), - intermediate_graphics_device: GraphicsIntermediateDevice::default(), + rcp_output: RCPOutput::default(), graphics_device: GliumGraphicsDevice::default(), }) } @@ -248,7 +248,7 @@ impl<'a> Gui<'a> { } fn render_game(&mut self, target: &mut Frame) -> Result<()> { - for draw_call in &self.intermediate_graphics_device.draw_calls { + for draw_call in &self.rcp_output.draw_calls { assert!(!draw_call.vbo.vbo.is_empty()); self.graphics_device.set_cull_mode(draw_call.cull_mode); @@ -273,7 +273,7 @@ impl<'a> Gui<'a> { for (index, hash) in draw_call.textures.iter().enumerate() { if let Some(hash) = hash { let texture = self - .intermediate_graphics_device + .rcp_output .texture_cache .get_mut(*hash) .unwrap(); @@ -314,7 +314,7 @@ impl<'a> Gui<'a> { // Run the RCP self.rcp - .run(&mut self.intermediate_graphics_device, commands); + .run(&mut self.rcp_output, commands); self.render_game(&mut frame)?; // Finish rendering @@ -324,7 +324,7 @@ impl<'a> Gui<'a> { self.render(&mut frame)?; // Clear the draw calls - self.intermediate_graphics_device.clear_draw_calls(); + self.rcp_output.clear_draw_calls(); // Swap buffers frame.finish()?; diff --git a/src/gui/windows.rs b/src/gui/windows.rs index 5560a25..33710bf 100644 --- a/src/gui/windows.rs +++ b/src/gui/windows.rs @@ -27,14 +27,14 @@ impl HelixWindows for Ui { )); let total_tris = gui - .intermediate_graphics_device + .rcp_output .draw_calls .iter() .fold(0, |acc, draw_call| acc + draw_call.vbo.num_tris); self.text(format!( "{} draw calls, {} vertices ({} triangles)", - gui.intermediate_graphics_device.draw_calls.len(), + gui.rcp_output.draw_calls.len(), total_tris * 3, total_tris, )); @@ -44,7 +44,7 @@ impl HelixWindows for Ui { if CollapsingHeader::new("Draw Calls").build(self) { self.indent(); for (i, dc) in gui - .intermediate_graphics_device + .rcp_output .draw_calls .iter() .enumerate()