summaryrefslogtreecommitdiff
path: root/content/projects/bevy_terminal_display/index.md
diff options
context:
space:
mode:
Diffstat (limited to 'content/projects/bevy_terminal_display/index.md')
-rw-r--r--content/projects/bevy_terminal_display/index.md28
1 files changed, 28 insertions, 0 deletions
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