diff options
| author | Micha White <botahamec@outlook.com> | 2022-10-02 13:49:47 -0400 |
|---|---|---|
| committer | Micha White <botahamec@outlook.com> | 2022-10-02 13:49:47 -0400 |
| commit | 511d3873f5f567c97eecd69d186bb4f93f927d58 (patch) | |
| tree | b99779ade2b150d51d800b7275a0c310a7591439 /examples | |
| parent | 39e36dd10cd7a335897e66e0f613d0191e7f9eba (diff) | |
Hacked in textures
Diffstat (limited to 'examples')
| -rw-r--r-- | examples/bmp.rs | 40 | ||||
| -rw-r--r-- | examples/res/sample.bmp | bin | 0 -> 1000138 bytes | |||
| -rw-r--r-- | examples/res/square.ico | bin | 0 -> 270398 bytes | |||
| -rw-r--r-- | examples/square.rs | 19 |
4 files changed, 57 insertions, 2 deletions
diff --git a/examples/bmp.rs b/examples/bmp.rs new file mode 100644 index 0000000..b1c2117 --- /dev/null +++ b/examples/bmp.rs @@ -0,0 +1,40 @@ +#![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] + +use std::num::NonZeroU32; + +use alligator_render::{config::WindowMode, ImageFormat, Instance, RenderWindowConfig, Renderer}; +use winit::event_loop::EventLoop; + +fn main() { + // configure the render window + let config = RenderWindowConfig { + title: "Bumper Sticker", + instance_capacity: 1, + default_width: NonZeroU32::new(1280).unwrap(), + default_height: NonZeroU32::new(720).unwrap(), + mode: WindowMode::BorderlessFullscreen, + vsync: false, + ..Default::default() + }; + + let texture = include_bytes!("res/sample.bmp"); + + let event_loop = EventLoop::new(); + let mut renderer = Renderer::new(&config, &event_loop).unwrap(); + + let texture = renderer + .texture_from_mem(texture, ImageFormat::Bmp) + .unwrap(); + let width = renderer.texture_width(texture).unwrap(); + let height = renderer.texture_height(texture).unwrap(); + let x = renderer.texture_x(texture).unwrap(); + let y = renderer.texture_y(texture).unwrap(); + + renderer.push_instance(Instance { + texture_size: [width, height], + texture_coordinates: [x, y], + ..Default::default() + }); + + renderer.run(event_loop); +} diff --git a/examples/res/sample.bmp b/examples/res/sample.bmp Binary files differnew file mode 100644 index 0000000..b31b58e --- /dev/null +++ b/examples/res/sample.bmp diff --git a/examples/res/square.ico b/examples/res/square.ico Binary files differnew file mode 100644 index 0000000..43d5a8c --- /dev/null +++ b/examples/res/square.ico diff --git a/examples/square.rs b/examples/square.rs index d03a4a9..f95bd00 100644 --- a/examples/square.rs +++ b/examples/square.rs @@ -1,6 +1,6 @@ #![cfg_attr(not(debug_assertions), windows_subsystem = "windows")] -use alligator_render::{Instance, RenderWindowConfig, Renderer}; +use alligator_render::{ImageFormat, Instance, RenderWindowConfig, Renderer}; use winit::event_loop::EventLoop; fn main() { @@ -11,9 +11,24 @@ fn main() { ..Default::default() }; + let texture = include_bytes!("res/square.ico"); + let event_loop = EventLoop::new(); let mut renderer = Renderer::new(&config, &event_loop).unwrap(); - renderer.push_instance(Instance::default()); + + let texture = renderer + .texture_from_mem(texture, ImageFormat::Ico) + .unwrap(); + let width = renderer.texture_width(texture).unwrap(); + let height = renderer.texture_height(texture).unwrap(); + let x = renderer.texture_x(texture).unwrap(); + let y = renderer.texture_y(texture).unwrap(); + + renderer.push_instance(Instance { + texture_size: [width, height], + texture_coordinates: [x, y], + ..Default::default() + }); renderer.run(event_loop); } |
