summaryrefslogtreecommitdiff
path: root/examples
diff options
context:
space:
mode:
authorMicha White <botahamec@outlook.com>2022-10-02 13:49:47 -0400
committerMicha White <botahamec@outlook.com>2022-10-02 13:49:47 -0400
commit511d3873f5f567c97eecd69d186bb4f93f927d58 (patch)
treeb99779ade2b150d51d800b7275a0c310a7591439 /examples
parent39e36dd10cd7a335897e66e0f613d0191e7f9eba (diff)
Hacked in textures
Diffstat (limited to 'examples')
-rw-r--r--examples/bmp.rs40
-rw-r--r--examples/res/sample.bmpbin0 -> 1000138 bytes
-rw-r--r--examples/res/square.icobin0 -> 270398 bytes
-rw-r--r--examples/square.rs19
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
new file mode 100644
index 0000000..b31b58e
--- /dev/null
+++ b/examples/res/sample.bmp
Binary files differ
diff --git a/examples/res/square.ico b/examples/res/square.ico
new file mode 100644
index 0000000..43d5a8c
--- /dev/null
+++ b/examples/res/square.ico
Binary files differ
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);
}