From 4d1368e382648e91aa6d0e5d05ae3292355ed994 Mon Sep 17 00:00:00 2001 From: Silas Bartha Date: Sat, 17 Aug 2024 19:34:17 -0400 Subject: bevy_outline_post_process page --- config.toml | 1 + .../projects/bevy_outline_post_process/index.md | 28 +++++++++++++++++++++ .../bevy_outline_post_process/threshold_10.png | Bin 0 -> 166203 bytes .../threshold_10_adaptive.png | Bin 0 -> 169214 bytes .../threshold_10_thick.png | Bin 0 -> 127530 bytes .../threshold_10_thin.png | Bin 0 -> 194280 bytes content/projects/white_I/index.md | 17 +++++++++++++ sass/style.scss | 6 ++++- templates/project-page.html | 15 +++++++++++ templates/projects.html | 2 +- 10 files changed, 67 insertions(+), 2 deletions(-) create mode 100644 content/projects/bevy_outline_post_process/index.md create mode 100644 content/projects/bevy_outline_post_process/threshold_10.png create mode 100644 content/projects/bevy_outline_post_process/threshold_10_adaptive.png create mode 100644 content/projects/bevy_outline_post_process/threshold_10_thick.png create mode 100644 content/projects/bevy_outline_post_process/threshold_10_thin.png create mode 100644 content/projects/white_I/index.md diff --git a/config.toml b/config.toml index 597031c..a706e9c 100644 --- a/config.toml +++ b/config.toml @@ -15,6 +15,7 @@ author = "Silas Bartha" taxonomies = [ { name = "categories", render = false }, { name = "languages", render = false }, + { name = "projects", render = false }, ] [markdown] diff --git a/content/projects/bevy_outline_post_process/index.md b/content/projects/bevy_outline_post_process/index.md new file mode 100644 index 0000000..0280f30 --- /dev/null +++ b/content/projects/bevy_outline_post_process/index.md @@ -0,0 +1,28 @@ ++++ +title = "bevy_outline_post_process" +[taxonomies] +categories = ["bevy plugin"] +languages = ["rust", "wgsl"] +[extra] +github = ["exvacuum/bevy_outline_post_process"] +crates = ["bevy_outline_post_process"] ++++ + +this plugin allows you to add outlines to a camera as a post-processing effect in the bevy engine + +![0.1 threshold, 2.0 thickness](threshold_10.png) + +the effect makes use of a normal prepass to determine surface normals of objects in view, and then uses the differences between those normal values to determine where outlines should occur + +the effect is configurable, you can change the thickness of the outlines and the threshold (how significant the difference between normals need to be for an outline to appear) + +![0.1 threshold, 1.0 thickness](threshold_10_thin.png) +![0.1 threshold, 4.0 thickness](threshold_10_thick.png) + +there's also an option to enable *adaptive outlines*, so that darker areas get outlined with white and brighter areas are outlined with black + +![adaptive](threshold_10_adaptive.png) + +i created this effect to improve visual contrast in my [white (I)](@/projects/white_I/index.md) project, which is why i haven't added support for different colors + +you're free to add it yourself though, probably wouldn't be too hard diff --git a/content/projects/bevy_outline_post_process/threshold_10.png b/content/projects/bevy_outline_post_process/threshold_10.png new file mode 100644 index 0000000..4490bd5 Binary files /dev/null and b/content/projects/bevy_outline_post_process/threshold_10.png differ diff --git a/content/projects/bevy_outline_post_process/threshold_10_adaptive.png b/content/projects/bevy_outline_post_process/threshold_10_adaptive.png new file mode 100644 index 0000000..6ad93d9 Binary files /dev/null and b/content/projects/bevy_outline_post_process/threshold_10_adaptive.png differ diff --git a/content/projects/bevy_outline_post_process/threshold_10_thick.png b/content/projects/bevy_outline_post_process/threshold_10_thick.png new file mode 100644 index 0000000..85eaaf0 Binary files /dev/null and b/content/projects/bevy_outline_post_process/threshold_10_thick.png differ diff --git a/content/projects/bevy_outline_post_process/threshold_10_thin.png b/content/projects/bevy_outline_post_process/threshold_10_thin.png new file mode 100644 index 0000000..fbb867e Binary files /dev/null and b/content/projects/bevy_outline_post_process/threshold_10_thin.png differ diff --git a/content/projects/white_I/index.md b/content/projects/white_I/index.md new file mode 100644 index 0000000..401dc55 --- /dev/null +++ b/content/projects/white_I/index.md @@ -0,0 +1,17 @@ ++++ +title = "white (I)" +description = "an experimental, terminal-based, 3D filesystem adventure" +[taxonomies] +languages = ["rust"] +categories = ["game"] +[extra] +wip = true ++++ + +i plan on making the source for this game available closer to once it's finished + +this is probably the most ambitious undertaking i've ever undertook + +
+ +i'll fill out this page with some screenshots soon, but this project drove the creation of a lot of the bevy plugins i've made diff --git a/sass/style.scss b/sass/style.scss index cc2b935..63797c0 100644 --- a/sass/style.scss +++ b/sass/style.scss @@ -9,8 +9,12 @@ a { color: everforest.$blue; } +.wip-indicator { + color: everforest.$yellow; +} + .langcolor { &-rust { - color: #CE412B; + color: everforest.$orange; } } diff --git a/templates/project-page.html b/templates/project-page.html index 3e8e2e4..c024b10 100644 --- a/templates/project-page.html +++ b/templates/project-page.html @@ -4,8 +4,13 @@ <- back to projects

{{ page.title }} + {% if page.extra.wip %} + (wip) + {% endif %}

+{% if page.description %}

{{ page.description }}

+{% endif %} {% if page.taxonomies.categories %}

category: {{ page.taxonomies.categories[0] }}

@@ -39,4 +44,14 @@ {% endif %}
{{ page.content | safe }} +{% set project = get_taxonomy_term(kind="projects", term=page.title, required=false) %} +{% if project and project.page_count > 0 %} +
+

related blog posts:

+ +{% endif %} {% endblock content %} diff --git a/templates/projects.html b/templates/projects.html index 8b01177..4b042a4 100644 --- a/templates/projects.html +++ b/templates/projects.html @@ -11,7 +11,7 @@ {{category.name}} {% endfor %} -- cgit v1.2.3