diff options
Diffstat (limited to 'alligator_render/examples')
| -rw-r--r-- | alligator_render/examples/black.rs | 6 | ||||
| -rw-r--r-- | alligator_render/examples/bmp.rs | 47 | ||||
| -rw-r--r-- | alligator_render/examples/bunnymark.rs | 31 |
3 files changed, 41 insertions, 43 deletions
diff --git a/alligator_render/examples/black.rs b/alligator_render/examples/black.rs index 198eef2..655cbde 100644 --- a/alligator_render/examples/black.rs +++ b/alligator_render/examples/black.rs @@ -1,5 +1,7 @@ #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] +use std::sync::Arc; + use alligator_render::{RenderWindowConfig, Renderer}; use alligator_resources::texture::{TextureManager, TextureManagerConfig}; @@ -19,11 +21,9 @@ fn main() { let texture_config = TextureManagerConfig { initial_capacity: 0, max_size: 0, - atlas_width: 1, - atlas_height: 1, }; - let texture_manager = TextureManager::new(&texture_config); + let texture_manager = Arc::new(TextureManager::new(&texture_config)); let renderer = Renderer::new(&render_config, texture_manager).unwrap(); println!("Startup time: {:?}", start.elapsed()); diff --git a/alligator_render/examples/bmp.rs b/alligator_render/examples/bmp.rs index 0bad037..9d864d0 100644 --- a/alligator_render/examples/bmp.rs +++ b/alligator_render/examples/bmp.rs @@ -1,9 +1,9 @@ #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] -use std::num::NonZeroU32; +use std::{num::NonZeroU32, sync::Arc}; -use alligator_render::{ImageFormat, Instance, RenderWindowConfig, Renderer}; -use alligator_resources::texture::{TextureManager, TextureManagerConfig}; +use alligator_render::{Instance, RenderWindowConfig, Renderer}; +use alligator_resources::texture::{ImageFormat, TextureManager, TextureManagerConfig}; #[profiling::function] fn update(renderer: &mut Renderer) { @@ -26,23 +26,21 @@ fn main() { 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(); + let texture_manager = Arc::new(TextureManager::new(&texture_config)); + let mut renderer = Renderer::new(&render_config, texture_manager.clone()).unwrap(); // render the alligator let gator = include_bytes!("res/gator.ff"); - let gator_id = renderer - .textures_mut() + let gator_id = texture_manager .load_from_memory(gator, ImageFormat::Farbfeld) .unwrap(); - let gator_width = renderer.textures().texture_width(gator_id).unwrap(); - let gator_height = renderer.textures().texture_height(gator_id).unwrap(); - let gator_x = renderer.textures().texture_x(gator_id).unwrap(); - let gator_y = renderer.textures().texture_y(gator_id).unwrap(); + renderer.textures_mut().load_texture(gator_id).unwrap(); + let gator_width = renderer.textures_mut().texture_width(gator_id).unwrap(); + let gator_height = renderer.textures_mut().texture_height(gator_id).unwrap(); + let gator_x = renderer.textures_mut().texture_x(gator_id).unwrap(); + let gator_y = renderer.textures_mut().texture_y(gator_id).unwrap(); renderer.instances_mut().push_instance(Instance { position: [-0.5, 0.5], @@ -55,14 +53,14 @@ fn main() { // render the ghost let icon = include_bytes!("res/ghost.ico"); - let icon_id = renderer - .textures_mut() + let icon_id = texture_manager .load_from_memory(icon, ImageFormat::Ico) .unwrap(); - let icon_width = renderer.textures().texture_width(icon_id).unwrap(); - let icon_height = renderer.textures().texture_height(icon_id).unwrap(); - let icon_x = renderer.textures().texture_x(icon_id).unwrap(); - let icon_y = renderer.textures().texture_y(icon_id).unwrap(); + renderer.textures_mut().load_texture(icon_id).unwrap(); + let icon_width = renderer.textures_mut().texture_width(icon_id).unwrap(); + let icon_height = renderer.textures_mut().texture_height(icon_id).unwrap(); + let icon_x = renderer.textures_mut().texture_x(icon_id).unwrap(); + let icon_y = renderer.textures_mut().texture_y(icon_id).unwrap(); renderer.instances_mut().push_instance(Instance { position: [0.5, 0.5], @@ -76,14 +74,13 @@ fn main() { // render the bitmap alligator let gator = include_bytes!("res/gator.bmp"); - let gator_id = renderer - .textures_mut() + let gator_id = texture_manager .load_from_memory(gator, ImageFormat::Bmp) .unwrap(); - let gator_width = renderer.textures().texture_width(gator_id).unwrap(); - let gator_height = renderer.textures().texture_height(gator_id).unwrap(); - let gator_x = renderer.textures().texture_x(gator_id).unwrap(); - let gator_y = renderer.textures().texture_y(gator_id).unwrap(); + let gator_width = renderer.textures_mut().texture_width(gator_id).unwrap(); + let gator_height = renderer.textures_mut().texture_height(gator_id).unwrap(); + let gator_x = renderer.textures_mut().texture_x(gator_id).unwrap(); + let gator_y = renderer.textures_mut().texture_y(gator_id).unwrap(); renderer.instances_mut().push_instance(Instance { position: [0.0, -0.5], diff --git a/alligator_render/examples/bunnymark.rs b/alligator_render/examples/bunnymark.rs index ab38b5e..f9aed1a 100644 --- a/alligator_render/examples/bunnymark.rs +++ b/alligator_render/examples/bunnymark.rs @@ -1,9 +1,7 @@ -use std::{num::NonZeroU32, time::Instant}; +use std::{num::NonZeroU32, sync::Arc, time::Instant}; -use alligator_render::{ - ImageFormat, Instance, InstanceId, RenderWindowConfig, Renderer, TextureId, -}; -use alligator_resources::texture::{TextureManager, TextureManagerConfig}; +use alligator_render::{Instance, InstanceId, RenderWindowConfig, Renderer}; +use alligator_resources::texture::{ImageFormat, TextureId, TextureManager, TextureManagerConfig}; fn xorshift_plus(seed: &mut [u64; 2]) -> u64 { let mut t = seed[0]; @@ -88,10 +86,16 @@ impl State { } for _ in 0..=(fps as u64 * 50) { - let texture_x = renderer.textures().texture_x(self.texture_id).unwrap(); - let texture_y = renderer.textures().texture_x(self.texture_id).unwrap(); - let texture_height = renderer.textures().texture_height(self.texture_id).unwrap(); - let texture_width = renderer.textures().texture_width(self.texture_id).unwrap(); + let texture_x = renderer.textures_mut().texture_x(self.texture_id).unwrap(); + let texture_y = renderer.textures_mut().texture_x(self.texture_id).unwrap(); + let texture_height = renderer + .textures_mut() + .texture_height(self.texture_id) + .unwrap(); + let texture_width = renderer + .textures_mut() + .texture_width(self.texture_id) + .unwrap(); let instance_id = renderer.instances_mut().push_instance(Instance { texture_coordinates: [texture_x, texture_y], texture_size: [texture_width, texture_height], @@ -137,15 +141,12 @@ fn main() { 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 texture_manager = TextureManager::new(&texture_config); - let mut renderer = Renderer::new(&render_config, texture_manager).unwrap(); - let texture_id = renderer - .textures_mut() + let texture_manager = Arc::new(TextureManager::new(&texture_config)); + let renderer = Renderer::new(&render_config, texture_manager.clone()).unwrap(); + let texture_id = texture_manager .load_from_memory(bunny, ImageFormat::Farbfeld) .unwrap(); |
