summaryrefslogtreecommitdiff
path: root/content/projects/bevy_outline_post_process/index.md
diff options
context:
space:
mode:
authorLibravatar Silas Bartha <[email protected]>2024-08-17 19:34:17 -0400
committerLibravatar Silas Bartha <[email protected]>2024-08-17 19:34:17 -0400
commit4d1368e382648e91aa6d0e5d05ae3292355ed994 (patch)
tree9323f1dee42be70c292cec23792f4f4787ff5311 /content/projects/bevy_outline_post_process/index.md
parent73332a62e385d380ea124a6a05e65b4bef78b3ae (diff)
bevy_outline_post_process page
Diffstat (limited to 'content/projects/bevy_outline_post_process/index.md')
-rw-r--r--content/projects/bevy_outline_post_process/index.md28
1 files changed, 28 insertions, 0 deletions
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