From 9fd7d6689d5d90679e4b0c12e463ef4e2f8bf515 Mon Sep 17 00:00:00 2001 From: Micha White Date: Sat, 4 Feb 2023 13:25:45 -0500 Subject: Have the renderer take the texture manager --- alligator_render/examples/black.rs | 13 +++++++++++-- alligator_render/examples/bmp.rs | 13 +++++++++++-- alligator_render/examples/bunnymark.rs | 13 +++++++++++-- 3 files changed, 33 insertions(+), 6 deletions(-) (limited to 'alligator_render/examples') diff --git a/alligator_render/examples/black.rs b/alligator_render/examples/black.rs index 106e0f0..198eef2 100644 --- a/alligator_render/examples/black.rs +++ b/alligator_render/examples/black.rs @@ -1,6 +1,7 @@ #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] use alligator_render::{RenderWindowConfig, Renderer}; +use alligator_resources::texture::{TextureManager, TextureManagerConfig}; fn update(_renderer: &mut Renderer) {} @@ -8,14 +9,22 @@ fn main() { let start = std::time::Instant::now(); // configure the render window - let config = RenderWindowConfig { + let render_config = RenderWindowConfig { //vsync: false, //mode: alligator_render::config::WindowMode::BorderlessFullscreen, title: "Black Screen.exe", ..Default::default() }; - let renderer = Renderer::new(&config).unwrap(); + let texture_config = TextureManagerConfig { + initial_capacity: 0, + max_size: 0, + atlas_width: 1, + atlas_height: 1, + }; + + let texture_manager = TextureManager::new(&texture_config); + let renderer = Renderer::new(&render_config, texture_manager).unwrap(); println!("Startup time: {:?}", start.elapsed()); renderer.run(update); diff --git a/alligator_render/examples/bmp.rs b/alligator_render/examples/bmp.rs index b8ce00c..0bad037 100644 --- a/alligator_render/examples/bmp.rs +++ b/alligator_render/examples/bmp.rs @@ -3,6 +3,7 @@ use std::num::NonZeroU32; use alligator_render::{ImageFormat, Instance, RenderWindowConfig, Renderer}; +use alligator_resources::texture::{TextureManager, TextureManagerConfig}; #[profiling::function] fn update(renderer: &mut Renderer) { @@ -12,7 +13,7 @@ fn update(renderer: &mut Renderer) { fn main() { // configure the render window - let config = RenderWindowConfig { + let render_config = RenderWindowConfig { title: "Bumper Stickers", instance_capacity: 2, default_width: NonZeroU32::new(1280).unwrap(), @@ -22,7 +23,15 @@ fn main() { ..Default::default() }; - let mut renderer = Renderer::new(&config).unwrap(); + let texture_config = TextureManagerConfig { + initial_capacity: 3, + max_size: 3_000_000, + atlas_height: 150, + atlas_width: 150, + }; + + let texture_manager = TextureManager::new(&texture_config); + let mut renderer = Renderer::new(&render_config, texture_manager).unwrap(); // render the alligator let gator = include_bytes!("res/gator.ff"); diff --git a/alligator_render/examples/bunnymark.rs b/alligator_render/examples/bunnymark.rs index 5530ef3..ab38b5e 100644 --- a/alligator_render/examples/bunnymark.rs +++ b/alligator_render/examples/bunnymark.rs @@ -3,6 +3,7 @@ use std::{num::NonZeroU32, time::Instant}; use alligator_render::{ ImageFormat, Instance, InstanceId, RenderWindowConfig, Renderer, TextureId, }; +use alligator_resources::texture::{TextureManager, TextureManagerConfig}; fn xorshift_plus(seed: &mut [u64; 2]) -> u64 { let mut t = seed[0]; @@ -123,7 +124,7 @@ fn main() { profiling::register_thread!("main"); // configure the render window - let config = RenderWindowConfig { + let render_config = RenderWindowConfig { title: "BunnyMark", instance_capacity: 5_000_000, default_width: NonZeroU32::new(1280).unwrap(), @@ -133,8 +134,16 @@ fn main() { ..Default::default() }; + let texture_config = TextureManagerConfig { + initial_capacity: 1, + max_size: 10_000, + atlas_width: 100, + atlas_height: 100, + }; + let bunny = include_bytes!("res/bunny.ff"); - let mut renderer = Renderer::new(&config).unwrap(); + let texture_manager = TextureManager::new(&texture_config); + let mut renderer = Renderer::new(&render_config, texture_manager).unwrap(); let texture_id = renderer .textures_mut() .load_from_memory(bunny, ImageFormat::Farbfeld) -- cgit v1.2.3