diff --git a/Cargo.toml b/Cargo.toml index d1cc0f6a..83beda54 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -35,7 +35,7 @@ winit = { version = "0.30" } [package] name = "blade" description = "Sharp and simple graphics library" -version = "0.2.0" +version = "0.3.0" edition = "2021" rust-version = "1.65" keywords = ["graphics"] @@ -47,10 +47,10 @@ readme = "docs/README.md" [dependencies] blade-asset = { version = "0.2", path = "blade-asset" } -blade-egui = { version = "0.5", path = "blade-egui" } -blade-graphics = { version = "0.5", path = "blade-graphics" } +blade-egui = { version = "0.6", path = "blade-egui" } +blade-graphics = { version = "0.6", path = "blade-graphics" } blade-helpers = { version = "0.1", path = "blade-helpers" } -blade-util = { version = "0.1", path = "blade-util" } +blade-util = { version = "0.2", path = "blade-util" } base64 = { workspace = true } choir = { workspace = true } colorsys = "0.6" @@ -67,13 +67,14 @@ slab = "0.4" winit = { workspace = true } [target.'cfg(not(target_arch = "wasm32"))'.dependencies] -blade-render = { version = "0.3", path = "blade-render" } +blade-render = { version = "0.4", path = "blade-render" } [dev-dependencies] blade-macros = { version = "0.3", path = "blade-macros" } bytemuck = { workspace = true } choir = { workspace = true } egui = { workspace = true } +egui-winit = { version="0.29", default-features=false, features=["links"] } transform-gizmo-egui = { git = "https://github.com/urholaukkarinen/transform-gizmo", rev = "7556fb38b37f3772c57dd0fae6a276976d314f9b" } env_logger = "0.11" glam = { workspace = true } @@ -85,16 +86,11 @@ profiling = { workspace = true } ron = "0.8" serde = { version = "1", features = ["serde_derive"] } strum = { workspace = true } +# not following semver :( del-msh-core = "=0.1.33" del-geo = "=0.1.29" -[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies] -# see https://github.com/emilk/egui/issues/4270 -egui-winit = { version="0.29", default-features=false, features=["links"] } - [target.'cfg(target_arch = "wasm32")'.dev-dependencies] -# see https://github.com/emilk/egui/issues/4270 -egui-winit = { version="0.29", default-features=false, features=["links"] } console_error_panic_hook = "0.1.7" console_log = "1" web-sys = { workspace = true, features = ["Window"] } @@ -120,4 +116,3 @@ allowed_external_types = [ [lints.rust] unexpected_cfgs = { level = "allow", check-cfg = ['cfg(gles)'] } -# not following semver :( diff --git a/blade-egui/Cargo.toml b/blade-egui/Cargo.toml index 558e3e72..d3aa9d48 100644 --- a/blade-egui/Cargo.toml +++ b/blade-egui/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blade-egui" -version = "0.5.0" +version = "0.6.0" edition = "2021" description = "egui integration for Blade" keywords = ["graphics"] @@ -10,9 +10,9 @@ repository = "https://github.com/kvark/blade" [lib] [dependencies] -blade-graphics = { version = "0.5", path = "../blade-graphics" } +blade-graphics = { version = "0.6", path = "../blade-graphics" } blade-macros = { version = "0.3", path = "../blade-macros" } -blade-util = { version = "0.1", path = "../blade-util" } +blade-util = { version = "0.2", path = "../blade-util" } egui = { workspace = true, features = ["bytemuck"] } bytemuck = { workspace = true } profiling = { workspace = true } diff --git a/blade-graphics/Cargo.toml b/blade-graphics/Cargo.toml index 38b3745c..799dd93a 100644 --- a/blade-graphics/Cargo.toml +++ b/blade-graphics/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blade-graphics" -version = "0.5.0" +version = "0.6.0" edition = "2021" description = "Graphics abstraction for Blade" keywords = ["graphics"] diff --git a/blade-helpers/Cargo.toml b/blade-helpers/Cargo.toml index c6143269..3b9705c9 100644 --- a/blade-helpers/Cargo.toml +++ b/blade-helpers/Cargo.toml @@ -13,7 +13,7 @@ publish = false [features] [dependencies] -blade-render = { version = "0.3", path = "../blade-render" } +blade-render = { version = "0.4", path = "../blade-render" } egui = { workspace = true } glam = { workspace = true } mint = { workspace = true } diff --git a/blade-macros/Cargo.toml b/blade-macros/Cargo.toml index e3968d69..f3fb2122 100644 --- a/blade-macros/Cargo.toml +++ b/blade-macros/Cargo.toml @@ -16,7 +16,7 @@ proc-macro2 = "1" quote = "1.0" [dev-dependencies] -blade-graphics = { version = "0.5", path = "../blade-graphics" } +blade-graphics = { version = "0.6", path = "../blade-graphics" } blade-asset = { version = "0.2", path = "../blade-asset" } bytemuck = { workspace = true } mint = { workspace = true } diff --git a/blade-render/Cargo.toml b/blade-render/Cargo.toml index 0bf1c39d..8af90a4a 100644 --- a/blade-render/Cargo.toml +++ b/blade-render/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blade-render" -version = "0.3.0" +version = "0.4.0" edition = "2021" description = "Renderer built on Blade" keywords = ["graphics", "engine"] @@ -28,7 +28,7 @@ asset = [ [dependencies] base64 = { workspace = true, optional = true } bitflags = { workspace = true } -blade-graphics = { version = "0.5", path = "../blade-graphics" } +blade-graphics = { version = "0.6", path = "../blade-graphics" } blade-asset = { version = "0.2", path = "../blade-asset" } blade-macros = { version = "0.3", path = "../blade-macros" } bytemuck = { workspace = true } diff --git a/blade-util/Cargo.toml b/blade-util/Cargo.toml index b4b98388..8745c90a 100644 --- a/blade-util/Cargo.toml +++ b/blade-util/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "blade-util" -version = "0.1.0" +version = "0.2.0" edition = "2021" description = "Utility logic for Blade applications" keywords = ["graphics"] @@ -10,7 +10,7 @@ repository = "https://github.com/kvark/blade" [lib] [dependencies] -blade-graphics = { version = "0.5", path = "../blade-graphics" } +blade-graphics = { version = "0.6", path = "../blade-graphics" } bytemuck = { workspace = true } log = { workspace = true } profiling = { workspace = true } diff --git a/docs/CHANGELOG.md b/docs/CHANGELOG.md index 82044156..31af4fe7 100644 --- a/docs/CHANGELOG.md +++ b/docs/CHANGELOG.md @@ -1,12 +1,13 @@ -Changelog for Blade +Changelog for *Blade* project -## blade-graphics-0.6 (TBD) +## blade-graphics-0.6, blade-util-0.2, blade-egui-0.6, blade-render-0.4, blade-0.3 (09 Dec 2024) - graphics: - - return detailed initialization errors - API for surface creation - allows multiple windows used by the same context + - multi-sampling support - API for destruction of pipelines + - return detailed initialization errors - every pass now takes a label - automatic GPU pass markers - ability to capture pass GPU timings diff --git a/docs/README.md b/docs/README.md index 1b70255f..75a5342a 100644 --- a/docs/README.md +++ b/docs/README.md @@ -9,7 +9,11 @@ ![](logo.png) -Blade is an innovative rendering solution for Rust. It starts with a lean [low-level GPU abstraction](https://youtu.be/63dnzjw4azI?t=623) focused at ergonomics and fun. It then grows into a high-level rendering library that utilizes hardware ray-tracing. It's accompanied by a [task-parallel asset pipeline](https://youtu.be/1DiA3OYqvqU) together with [egui](https://www.egui.rs/) support, turning into a minimal rendering engine. Finally, the top-level Blade engine combines all of this with Rapier3D-based physics and hides them behind a concise API. +Blade is an innovative rendering solution for Rust. It starts with a lean low-level GPU abstraction focused at ergonomics and fun. It then grows into a high-level rendering library that utilizes hardware ray-tracing. It's accompanied by a [task-parallel asset pipeline](https://youtu.be/1DiA3OYqvqU) together with [egui](https://www.egui.rs/) support, turning into a minimal rendering engine. Finally, the top-level Blade engine combines all of this with Rapier3D-based physics and hides them behind a concise API. Talks: +- [In GPU we Rust](https://youtu.be/92mwRCXvMVk) (Rust AI meetup, 2024) +- [Blade - lean and mean graphics library](https://youtu.be/63dnzjw4azI?t=623) (Rust Graphics meetup, 2023) +- [Blade asset pipeline](https://youtu.be/1DiA3OYqvqU) (Rust Gamedev meetup, 2023) +- [Blade scene editor](https://www.youtube.com/watch?v=Q5IUOvuXoC8) (Rust Gamedev meetup, 2023) ![architecture](https://raw.githubusercontent.com/kvark/blade/main/docs/architecture2.png)