Major Refactor: separate project into multiple crates

This commit is contained in:
reo 2025-07-17 23:19:46 +03:00
parent f943e4c945
commit d0440f3da3
24 changed files with 209 additions and 2232 deletions

1
.gitignore vendored
View file

@ -1,2 +1,3 @@
/target /target
.aider* .aider*
*.patch

152
Cargo.lock generated
View file

@ -4,9 +4,9 @@ version = 4
[[package]] [[package]]
name = "ab_glyph" name = "ab_glyph"
version = "0.2.29" version = "0.2.31"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "ec3672c180e71eeaaac3a541fbbc5f5ad4def8b747c595ad30d674e43049f7b0" checksum = "e074464580a518d16a7126262fffaaa47af89d4099d4cb403f8ed938ba12ee7d"
dependencies = [ dependencies = [
"ab_glyph_rasterizer", "ab_glyph_rasterizer",
"owned_ttf_parser", "owned_ttf_parser",
@ -14,9 +14,9 @@ dependencies = [
[[package]] [[package]]
name = "ab_glyph_rasterizer" name = "ab_glyph_rasterizer"
version = "0.1.8" version = "0.1.9"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c71b1793ee61086797f5c80b6efa2b8ffa6d5dd703f118545808a7f2e27f7046" checksum = "b2187590a23ab1e3df8681afdf0987c48504d80291f002fcdb651f0ef5e25169"
[[package]] [[package]]
name = "addr2line" name = "addr2line"
@ -151,9 +151,9 @@ dependencies = [
[[package]] [[package]]
name = "avif-serialize" name = "avif-serialize"
version = "0.8.3" version = "0.8.5"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "98922d6a4cfbcb08820c69d8eeccc05bb1f29bfa06b4f5b1dbfe9a868bd7608e" checksum = "2ea8ef51aced2b9191c08197f55450d830876d9933f8f48a429b354f1d496b42"
dependencies = [ dependencies = [
"arrayvec", "arrayvec",
] ]
@ -220,9 +220,9 @@ checksum = "56ed6191a7e78c36abdb16ab65341eefd73d64d303fffccdbb00d51e4205967b"
[[package]] [[package]]
name = "bumpalo" name = "bumpalo"
version = "3.18.1" version = "3.19.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "793db76d6187cd04dff33004d8e6c9cc4e05cd330500379d2394209271b4aeee" checksum = "46c5e41b57b8bba42a04676d81cb89e9ee8e859a1a66f80a5a72e1cb76b34d43"
[[package]] [[package]]
name = "bytemuck" name = "bytemuck"
@ -276,9 +276,9 @@ dependencies = [
[[package]] [[package]]
name = "cc" name = "cc"
version = "1.2.27" version = "1.2.29"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "d487aa071b5f64da6f19a3e848e3578944b726ee5a4854b82172f02aa876bfdc" checksum = "5c1599538de2394445747c8cf7935946e3cc27e9625f889d979bfb2aaf569362"
dependencies = [ dependencies = [
"jobserver", "jobserver",
"libc", "libc",
@ -395,9 +395,9 @@ dependencies = [
[[package]] [[package]]
name = "crc32fast" name = "crc32fast"
version = "1.4.2" version = "1.5.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a97769d94ddab943e4510d138150169a2758b5ef3eb191a9ee688de3e23ef7b3" checksum = "9481c1c90cbf2ac953f07c8d4a58aa3945c425b7185c9154d67a65e4230da511"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
] ]
@ -429,9 +429,9 @@ checksum = "d0a5c400df2834b80a4c3327b3aad3a4c4cd4de0629063962b03235697506a28"
[[package]] [[package]]
name = "crunchy" name = "crunchy"
version = "0.2.3" version = "0.2.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "43da5946c66ffcc7745f48db692ffbb10a83bfe0afd96235c5c2a4fb23994929" checksum = "460fbee9c2c2f33933d720630a6a0bac33ba7053db5344fac858d4b8952d77d5"
[[package]] [[package]]
name = "cursor-icon" name = "cursor-icon"
@ -585,23 +585,6 @@ version = "0.3.1"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b" checksum = "aa9a19cbb55df58761df49b23516a86d432839add4af60fc256da840f66ed35b"
[[package]]
name = "fps"
version = "0.1.0"
dependencies = [
"anyhow",
"glam",
"glium",
"gltf",
"glutin",
"hecs",
"image",
"imgui",
"imgui-glium-renderer",
"imgui-winit-support",
"winit",
]
[[package]] [[package]]
name = "gethostname" name = "gethostname"
version = "0.4.3" version = "0.4.3"
@ -923,9 +906,9 @@ dependencies = [
[[package]] [[package]]
name = "indexmap" name = "indexmap"
version = "2.9.0" version = "2.10.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cea70ddb795996207ad57735b50c5982d8844f38ba9ee5f1aedcfb708a2aa11e" checksum = "fe4cd85333e22411419a0bcae1297d25e58c9443848b11dc6a86fefe8c78a661"
dependencies = [ dependencies = [
"equivalent", "equivalent",
"hashbrown 0.15.4", "hashbrown 0.15.4",
@ -1037,9 +1020,9 @@ checksum = "1171693293099992e19cddea4e8b849964e9846f4acee11b3948bcc337be8776"
[[package]] [[package]]
name = "libfuzzer-sys" name = "libfuzzer-sys"
version = "0.4.9" version = "0.4.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cf78f52d400cf2d84a3a973a78a592b4adc535739e0a5597a0da6f0c357adc75" checksum = "5037190e1f70cbeef565bd267599242926f724d3b8a9f510fd7e0b540cfa4404"
dependencies = [ dependencies = [
"arbitrary", "arbitrary",
"cc", "cc",
@ -1057,9 +1040,9 @@ dependencies = [
[[package]] [[package]]
name = "libredox" name = "libredox"
version = "0.1.3" version = "0.1.4"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c0ff37bd590ca25063e35af745c343cb7a0271906fb7b37e4813e8f79f00268d" checksum = "1580801010e535496706ba011c15f8532df6b42297d2e471fec38ceadd8c0638"
dependencies = [ dependencies = [
"bitflags 2.9.1", "bitflags 2.9.1",
"libc", "libc",
@ -1121,9 +1104,9 @@ checksum = "32a282da65faaf38286cf3be983213fcf1d2e2a58700e808f83f4ea9a4804bc0"
[[package]] [[package]]
name = "memmap2" name = "memmap2"
version = "0.9.5" version = "0.9.7"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "fd3f7eed9d3848f8b98834af67102b720745c4ec028fcd0aa0239277e7de374f" checksum = "483758ad303d734cec05e5c12b41d7e93e6a6390c5e9dae6bdeb7c1259012d28"
dependencies = [ dependencies = [
"libc", "libc",
] ]
@ -1652,7 +1635,7 @@ dependencies = [
"concurrent-queue", "concurrent-queue",
"hermit-abi", "hermit-abi",
"pin-project-lite", "pin-project-lite",
"rustix 1.0.7", "rustix 1.0.8",
"tracing", "tracing",
"windows-sys 0.59.0", "windows-sys 0.59.0",
] ]
@ -1742,6 +1725,60 @@ version = "5.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f" checksum = "69cdb34c158ceb288df11e18b4bd39de994f6657d83847bdffdbd7f346754b0f"
[[package]]
name = "raidillon_core"
version = "0.1.0"
[[package]]
name = "raidillon_ecs"
version = "0.1.0"
dependencies = [
"glam",
"hecs",
]
[[package]]
name = "raidillon_game"
version = "0.1.0"
dependencies = [
"anyhow",
"glam",
"glium",
"glutin",
"hecs",
"raidillon_core",
"raidillon_ecs",
"raidillon_render",
"raidillon_ui",
"winit",
]
[[package]]
name = "raidillon_render"
version = "0.1.0"
dependencies = [
"anyhow",
"glam",
"glium",
"gltf",
"glutin",
"hecs",
"image",
"raidillon_ecs",
]
[[package]]
name = "raidillon_ui"
version = "0.1.0"
dependencies = [
"anyhow",
"glium",
"imgui",
"imgui-glium-renderer",
"imgui-winit-support",
"winit",
]
[[package]] [[package]]
name = "rand" name = "rand"
version = "0.8.5" version = "0.8.5"
@ -1868,9 +1905,9 @@ dependencies = [
[[package]] [[package]]
name = "rgb" name = "rgb"
version = "0.8.50" version = "0.8.52"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "57397d16646700483b67d2dd6511d79318f9d057fdbd21a4066aeac8b41d310a" checksum = "0c6a884d2998352bb4daf0183589aec883f16a6da1f4dde84d8e2e9a5409a1ce"
[[package]] [[package]]
name = "rustc-demangle" name = "rustc-demangle"
@ -1893,15 +1930,15 @@ dependencies = [
[[package]] [[package]]
name = "rustix" name = "rustix"
version = "1.0.7" version = "1.0.8"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "c71e83d6afe7ff64890ec6b71d6a69bb8a610ab78ce364b3352876bb4c801266" checksum = "11181fbabf243db407ef8df94a6ce0b2f9a733bd8be4ad02b4eda9602296cac8"
dependencies = [ dependencies = [
"bitflags 2.9.1", "bitflags 2.9.1",
"errno", "errno",
"libc", "libc",
"linux-raw-sys 0.9.4", "linux-raw-sys 0.9.4",
"windows-sys 0.59.0", "windows-sys 0.60.2",
] ]
[[package]] [[package]]
@ -2306,12 +2343,13 @@ dependencies = [
[[package]] [[package]]
name = "wasm-bindgen-futures" name = "wasm-bindgen-futures"
version = "0.4.45" version = "0.4.50"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cc7ec4f8827a71586374db3e87abdb5a2bb3a15afed140221307c3ec06b1f63b" checksum = "555d470ec0bc3bb57890405e5d4322cc9ea83cebb085523ced7be4144dac1e61"
dependencies = [ dependencies = [
"cfg-if", "cfg-if",
"js-sys", "js-sys",
"once_cell",
"wasm-bindgen", "wasm-bindgen",
"web-sys", "web-sys",
] ]
@ -2459,9 +2497,9 @@ dependencies = [
[[package]] [[package]]
name = "web-sys" name = "web-sys"
version = "0.3.72" version = "0.3.77"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "f6488b90108c040df0fe62fa815cbdee25124641df01814dd7282749234c6112" checksum = "33b6dd2ef9186f1f2072e409e99cd22a975331a6b3591b12c764e0e55c60d5d2"
dependencies = [ dependencies = [
"js-sys", "js-sys",
"wasm-bindgen", "wasm-bindgen",
@ -2824,9 +2862,9 @@ dependencies = [
[[package]] [[package]]
name = "winnow" name = "winnow"
version = "0.7.11" version = "0.7.12"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "74c7b26e3480b707944fc872477815d29a8e429d2f93a1ce000f5fa84a15cbcd" checksum = "f3edebf492c8125044983378ecb5766203ad3b4c2f7a922bd7dd207f6d443e95"
dependencies = [ dependencies = [
"memchr", "memchr",
] ]
@ -2874,9 +2912,9 @@ checksum = "ec107c4503ea0b4a98ef47356329af139c0a4f7750e621cf2973cd3385ebcb3d"
[[package]] [[package]]
name = "xcursor" name = "xcursor"
version = "0.3.9" version = "0.3.10"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "635887f4315a33cb714eb059bdbd7c1c92bfa71bc5b9d5115460502f788c2ab5" checksum = "bec9e4a500ca8864c5b47b8b482a73d62e4237670e5b5f1d6b9e3cae50f28f2b"
[[package]] [[package]]
name = "xkbcommon-dl" name = "xkbcommon-dl"
@ -2899,9 +2937,9 @@ checksum = "b9cc00251562a284751c9973bace760d86c0276c471b4be569fe6b068ee97a56"
[[package]] [[package]]
name = "xml-rs" name = "xml-rs"
version = "0.8.26" version = "0.8.27"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "a62ce76d9b56901b19a74f19431b0d8b3bc7ca4ad685a746dfd78ca8f4fc6bda" checksum = "6fd8403733700263c6eb89f192880191f1b83e332f7a20371ddcf421c4a337c7"
[[package]] [[package]]
name = "zerocopy" name = "zerocopy"
@ -2940,9 +2978,9 @@ dependencies = [
[[package]] [[package]]
name = "zune-jpeg" name = "zune-jpeg"
version = "0.4.18" version = "0.4.19"
source = "registry+https://github.com/rust-lang/crates.io-index" source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7384255a918371b5af158218d131530f694de9ad3815ebdd0453a940485cb0fa" checksum = "2c9e525af0a6a658e031e95f14b7f889976b74a11ba0eca5a5fc9ac8a1c43a6a"
dependencies = [ dependencies = [
"zune-core", "zune-core",
] ]

View file

@ -1,21 +1,8 @@
[package] [workspace]
name = "fps" members = [
version = "0.1.0" "raidillon_core",
edition = "2021" "raidillon_ecs",
"raidillon_render",
[dependencies] "raidillon_ui",
anyhow = "1.0.98" "raidillon_game",
glam = "0.30.4" ]
glium = { version = "0.35.0", features = ["glutin_backend", "simple_window_builder"] }
gltf = { version = "1.4.1", features = ["import", "utils", "KHR_texture_transform"] }
glutin = { version = "0.32.3", default-features = false }
hecs = "0.10.5"
image = "0.25.6"
imgui = "0.12"
imgui-winit-support = "0.13"
imgui-glium-renderer = "0.13"
winit = "0.30"

View file

@ -1,10 +1,8 @@
default: default:
@just --list @just --list
# Run 'cargo run' on the project
run *ARGS: run *ARGS:
cargo run {{ARGS}} cargo run {{ARGS}}
# Watch for changes and automatically restart
watch: watch:
bacon bacon

Binary file not shown.

Before

Width:  |  Height:  |  Size: 44 KiB

View file

@ -0,0 +1,4 @@
[package]
name = "raidillon_core"
version = "0.1.0"
edition = "2021"

View file

@ -0,0 +1,3 @@
pub mod time;
pub use time::Time;

8
raidillon_ecs/Cargo.toml Normal file
View file

@ -0,0 +1,8 @@
[package]
name = "raidillon_ecs"
version = "0.1.0"
edition = "2021"
[dependencies]
glam = "0.30.4"
hecs = "0.10.5"

17
raidillon_ecs/src/lib.rs Normal file
View file

@ -0,0 +1,17 @@
use glam::{Mat4, Quat, Vec3};
#[derive(Copy, Clone)]
pub struct Transform {
pub translation: Vec3,
pub rotation: Quat,
pub scale: Vec3,
}
impl Transform {
pub fn matrix(&self) -> Mat4 {
Mat4::from_scale_rotation_translation(self.scale, self.rotation, self.translation)
}
}
#[derive(Clone)]
pub struct ModelHandle(pub usize);

16
raidillon_game/Cargo.toml Normal file
View file

@ -0,0 +1,16 @@
[package]
name = "raidillon_game"
version = "0.1.0"
edition = "2021"
[dependencies]
anyhow = "1.0.98"
glam = "0.30.4"
glium = { version = "0.35.0", features = ["glutin_backend", "simple_window_builder"] }
glutin = { version = "0.32.3", default-features = false }
winit = "0.30"
raidillon_render = { path = "../raidillon_render" }
raidillon_ecs = { path = "../raidillon_ecs" }
raidillon_ui = { path = "../raidillon_ui" }
raidillon_core = { path = "../raidillon_core" }
hecs = "0.10.5"

View file

@ -1,17 +1,10 @@
mod camera;
mod ecs;
mod model;
mod gltf_loader;
mod render;
mod time;
mod ui;
use anyhow::Result; use anyhow::Result;
use camera::Camera;
use ecs::{Transform};
use glam::{Quat, Vec3, EulerRot}; use glam::{Quat, Vec3, EulerRot};
use glium::backend::glutin::SimpleWindowBuilder; use glium::backend::glutin::SimpleWindowBuilder;
use render::GliumRenderer; use raidillon_core::Time;
use raidillon_ecs::Transform;
use raidillon_render::{Camera, GliumRenderer, gltf_loader, ECSRenderer};
use raidillon_ui::Gui;
fn main() -> Result<()> { fn main() -> Result<()> {
let event_loop = glium::winit::event_loop::EventLoop::builder() let event_loop = glium::winit::event_loop::EventLoop::builder()
@ -19,7 +12,7 @@ fn main() -> Result<()> {
.expect("create event-loop"); .expect("create event-loop");
let (window, display) = SimpleWindowBuilder::new() let (window, display) = SimpleWindowBuilder::new()
.with_title("fps") .with_title("raidillon")
.with_inner_size(1280, 720) .with_inner_size(1280, 720)
.build(&event_loop); .build(&event_loop);
@ -27,13 +20,13 @@ fn main() -> Result<()> {
let mut ecsr = { let mut ecsr = {
let world = hecs::World::new(); let world = hecs::World::new();
let renderer = GliumRenderer::new(display.clone())?; let renderer = GliumRenderer::new(display.clone())?;
ecs::ECSRenderer::new(renderer, world) ECSRenderer::new(renderer, world)
}; };
// Dear ImGui integration // Dear ImGui integration
let mut gui = ui::Gui::new(&display, &window)?; let mut gui = Gui::new(&display, &window)?;
let mut time = time::Time::new(); let mut time = Time::new();
let object_ent = { let object_ent = {
let model_3d = gltf_loader::load_gltf("resources/models/tree.gltf", &display)?; let model_3d = gltf_loader::load_gltf("resources/models/tree.gltf", &display)?;
@ -77,7 +70,7 @@ fn main() -> Result<()> {
Event::WindowEvent { event, .. } => match event { Event::WindowEvent { event, .. } => match event {
WindowEvent::CloseRequested => el.exit(), WindowEvent::CloseRequested => el.exit(),
WindowEvent::Resized(sz) => { WindowEvent::Resized(sz) => {
ecsr.world.query_one_mut::<&mut crate::camera::Camera>(camera_ent).map(|mut cam| { ecsr.world.query_one_mut::<&mut Camera>(camera_ent).map(|mut cam| {
cam.aspect = sz.width as f32 / sz.height as f32; cam.aspect = sz.width as f32 / sz.height as f32;
}); });
} }

View file

@ -0,0 +1,14 @@
[package]
name = "raidillon_render"
version = "0.1.0"
edition = "2021"
[dependencies]
anyhow = "1.0.98"
glam = "0.30.4"
glium = { version = "0.35.0", features = ["glutin_backend", "simple_window_builder"] }
gltf = { version = "1.4.1", features = ["import", "utils", "KHR_texture_transform"] }
glutin = { version = "0.32.3", default-features = false }
hecs = "0.10.5"
image = "0.25.6"
raidillon_ecs = { path = "../raidillon_ecs" }

View file

@ -1,4 +1,4 @@
use glam::{Mat4, Quat, Vec3}; use raidillon_ecs::{Transform, ModelHandle};
use hecs::{Entity, World}; use hecs::{Entity, World};
use crate::render::GliumRenderer; use crate::render::GliumRenderer;
use crate::model::Model; use crate::model::Model;
@ -46,19 +46,3 @@ impl ECSRenderer {
self.renderer.render_into(&self.world, target); self.renderer.render_into(&self.world, target);
} }
} }
#[derive(Copy, Clone)]
pub struct Transform {
pub translation: Vec3,
pub rotation: Quat,
pub scale: Vec3,
}
impl Transform {
pub fn matrix(&self) -> Mat4 {
Mat4::from_scale_rotation_translation(self.scale, self.rotation, self.translation)
}
}
#[derive(Clone)]
pub struct ModelHandle(pub usize);

View file

@ -0,0 +1,9 @@
pub mod camera;
pub mod model;
pub mod gltf_loader;
pub mod render;
pub mod ecs_renderer;
pub use camera::Camera;
pub use render::GliumRenderer;
pub use ecs_renderer::ECSRenderer;

View file

@ -1,5 +1,5 @@
use crate::camera::Camera; use crate::camera::Camera;
use crate::ecs::{ModelHandle, Transform}; use raidillon_ecs::{ModelHandle, Transform};
use crate::model::{Model, Mesh}; use crate::model::{Model, Mesh};
use glium::texture::{RawImage2d, SrgbTexture2d}; use glium::texture::{RawImage2d, SrgbTexture2d};
use glium::{uniform, Program, Surface}; use glium::{uniform, Program, Surface};
@ -26,8 +26,8 @@ pub struct GliumRenderer {
impl GliumRenderer { impl GliumRenderer {
pub fn new(display: glium::Display<WindowSurface>) -> anyhow::Result<Self> { pub fn new(display: glium::Display<WindowSurface>) -> anyhow::Result<Self> {
const VERT_SRC: &str = include_str!("../resources/shaders/gl_textured.vert"); const VERT_SRC: &str = include_str!("../../resources/shaders/gl_textured.vert");
const FRAG_SRC: &str = include_str!("../resources/shaders/gl_textured.frag"); const FRAG_SRC: &str = include_str!("../../resources/shaders/gl_textured.frag");
let program = Program::from_source(&display, VERT_SRC, FRAG_SRC, None)?; let program = Program::from_source(&display, VERT_SRC, FRAG_SRC, None)?;
@ -46,8 +46,8 @@ impl GliumRenderer {
.. Default::default() .. Default::default()
}; };
let sky_vert = include_str!("../resources/shaders/skybox.vert"); let sky_vert = include_str!("../../resources/shaders/skybox.vert");
let sky_frag = include_str!("../resources/shaders/skybox.frag"); let sky_frag = include_str!("../../resources/shaders/skybox.frag");
let skybox_program = Program::from_source(&display, sky_vert, sky_frag, None)?; let skybox_program = Program::from_source(&display, sky_vert, sky_frag, None)?;
let image = ImageReader::open("resources/skyboxes/sky_24_2k.png")?.decode()?.to_rgba8(); let image = ImageReader::open("resources/skyboxes/sky_24_2k.png")?.decode()?.to_rgba8();

12
raidillon_ui/Cargo.toml Normal file
View file

@ -0,0 +1,12 @@
[package]
name = "raidillon_ui"
version = "0.1.0"
edition = "2021"
[dependencies]
anyhow = "1.0.98"
glium = { version = "0.35.0", features = ["glutin_backend", "simple_window_builder"] }
imgui = "0.12"
imgui-winit-support = "0.13"
imgui-glium-renderer = "0.13"
winit = "0.30"

3
raidillon_ui/src/lib.rs Normal file
View file

@ -0,0 +1,3 @@
pub mod ui;
pub use ui::Gui;

View file

@ -1,3 +1,3 @@
## Attributions ## Attributions
- [Tree](./resources/models/tree.gltf) by "Poly by Google" [CC-BY] (https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/6pwiq7hSrHr) - [Tree](./resources/models/tree.gltf) by "Poly by Google" [CC-BY](https://creativecommons.org/licenses/by/3.0/) via [Poly Pizza](https://poly.pizza/m/6pwiq7hSrHr)

File diff suppressed because it is too large Load diff