diff options
author | Silas Bartha <silas@exvacuum.dev> | 2024-08-21 15:38:02 -0400 |
---|---|---|
committer | Silas Bartha <silas@exvacuum.dev> | 2024-08-21 15:38:02 -0400 |
commit | f3e8e5b379114bff3efdd4a387276231e6d1c56f (patch) | |
tree | 3f865f11e589577b743e6152e9e41d5c748b7cba /content/projects/bevy_terminal_display | |
parent | 2e5297636edf320c78e2dc295425b2a70766c2fe (diff) |
headless render + terminal display pages
Diffstat (limited to 'content/projects/bevy_terminal_display')
-rw-r--r-- | content/projects/bevy_terminal_display/dialog.png | bin | 0 -> 38779 bytes | |||
-rw-r--r-- | content/projects/bevy_terminal_display/index.md | 28 | ||||
-rw-r--r-- | content/projects/bevy_terminal_display/sponza.png | bin | 0 -> 40621 bytes |
3 files changed, 28 insertions, 0 deletions
diff --git a/content/projects/bevy_terminal_display/dialog.png b/content/projects/bevy_terminal_display/dialog.png Binary files differnew file mode 100644 index 0000000..d9281f2 --- /dev/null +++ b/content/projects/bevy_terminal_display/dialog.png diff --git a/content/projects/bevy_terminal_display/index.md b/content/projects/bevy_terminal_display/index.md new file mode 100644 index 0000000..d47c28b --- /dev/null +++ b/content/projects/bevy_terminal_display/index.md @@ -0,0 +1,28 @@ ++++ +title = "bevy_terminal_display" +[taxonomies] +categories = ["bevy plugin"] +languages = ["rust"] +[extra] +very_cool = true +github = ["exvacuum/bevy_terminal_display"] +crates = ["bevy_terminal_display"] ++++ + +this plugin allows you to render from a camera to the terminal using [unicode braille characters](https://en.wikipedia.org/wiki/Braille_Patterns) + +![sponza](sponza.png) + +it makes use of the [bevy_headless_render](@/projects/bevy_headless_render/index.md) plugin for headless rendering, and then uses the [bevy_dither_post_process](@/projects/bevy_dither_post_process/index.md) plugin to dither the captured frame before converting the black and white pixels into the appropriate characters and printing them to the terminal + +this plugin uses the [ratatui](https://crates.io/crates/ratatui) and [crossterm](https://crates.io/crates/crossterm) for rendering to the terminal + +this plugin manages a `TerminalInput` resource which keeps track of pressed keys + +this plugin also has facilities for creating and rendering ratatui widgets + +here's an example of a dialog box and option selection widget i've implemented in my [white (I)](@/projects/white_I/index.md) project + +![dialog widget](dialog.png) + +in that project, i also make use of the [bevy_outline_post_process](@/projects/bevy_outline_post_process/index.md) for additional visual contrast diff --git a/content/projects/bevy_terminal_display/sponza.png b/content/projects/bevy_terminal_display/sponza.png Binary files differnew file mode 100644 index 0000000..6568cf3 --- /dev/null +++ b/content/projects/bevy_terminal_display/sponza.png |