From 5f3564cdc05ec065f41ad49fd9f80257a1ef9530 Mon Sep 17 00:00:00 2001 From: Silas Bartha Date: Tue, 23 Apr 2024 16:17:07 -0400 Subject: Added README --- README.md | 73 ++++++++++++++++++++++++++++++++++++++++++++++ doc/screenshot.png | Bin 0 -> 192578 bytes doc/screenshot_smooth.png | Bin 0 -> 347011 bytes 3 files changed, 73 insertions(+) create mode 100644 README.md create mode 100644 doc/screenshot.png create mode 100644 doc/screenshot_smooth.png diff --git a/README.md b/README.md new file mode 100644 index 0000000..dbe6816 --- /dev/null +++ b/README.md @@ -0,0 +1,73 @@ +# grex_outline_post_process + + +A plugin for the [Bevy](https://bevyengine.org) engine which adds an outline post-processing effect. + +## Screenshots +![](./doc/screenshot.png) +![](./doc/screenshot_smooth.png) +Configuration Used: +```rs +grex_outline_post_process::components::OutlinePostProcessSettings { + weight: 2.0, + threshold: 0.0, +} +``` + +## Installation + +### Using git URL in Cargo.toml +```toml +[dependencies.grex_outline_post_process] +git = "https://github.com/exvacuum/grex_outline_post_process.git" +``` + +### Workspace Submodule +I recommend organizing your Bevy project as a [cargo workspace](https://doc.rust-lang.org/book/ch14-03-cargo-workspaces.html) and pulling this repository as a git submodule: +```bash +git submodule add git@github.com:exvacuum/grex_outline_post_process.git +``` + +We can add a [patch override](https://doc.rust-lang.org/cargo/reference/overriding-dependencies.html#overriding-repository-url) for this repository in the workspace's `Cargo.toml`: +```toml +[patch."https://github.com/exvacuum/grex_outline_post_process.git".grex_outline_post_process] +path = "./grex_outline_post_process" +``` + +And then, from a crate that depends on it: +```toml +[dependencies.grex_outline_post_process] +git = "https://github.com/exvacuum/grex_outline_post_process.git" +``` + + +## Usage + +In `main.rs`: +```rs +use bevy::prelude::*; +use grex_outline_post_process; + +fn main() { + App::new() + .add_plugins(( + DefaultPlugins, + grex_outline_post_process::OutlinePostProcessPlugin, + )) + .run(); +} +``` + +When spawning a camera: +```rs +commands.spawn(( + // Camera3dBundle... + grex_outline_post_process::components::OutlinePostProcessSettings { + weight: 2.0, + threshold: 0.0, + } +)); +``` + +This effect will only run for cameras which contain this component. + diff --git a/doc/screenshot.png b/doc/screenshot.png new file mode 100644 index 0000000..cdbc4bf Binary files /dev/null and b/doc/screenshot.png differ diff --git a/doc/screenshot_smooth.png b/doc/screenshot_smooth.png new file mode 100644 index 0000000..ea5b427 Binary files /dev/null and b/doc/screenshot_smooth.png differ -- cgit v1.2.3