summaryrefslogtreecommitdiff
path: root/content/projects/bevy_outline_post_process
diff options
context:
space:
mode:
Diffstat (limited to 'content/projects/bevy_outline_post_process')
-rw-r--r--content/projects/bevy_outline_post_process/index.md28
-rw-r--r--content/projects/bevy_outline_post_process/threshold_10.pngbin0 -> 166203 bytes
-rw-r--r--content/projects/bevy_outline_post_process/threshold_10_adaptive.pngbin0 -> 169214 bytes
-rw-r--r--content/projects/bevy_outline_post_process/threshold_10_thick.pngbin0 -> 127530 bytes
-rw-r--r--content/projects/bevy_outline_post_process/threshold_10_thin.pngbin0 -> 194280 bytes
5 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
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
--- /dev/null
+++ b/content/projects/bevy_outline_post_process/threshold_10.png
Binary files 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
--- /dev/null
+++ b/content/projects/bevy_outline_post_process/threshold_10_adaptive.png
Binary files 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
--- /dev/null
+++ b/content/projects/bevy_outline_post_process/threshold_10_thick.png
Binary files 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
--- /dev/null
+++ b/content/projects/bevy_outline_post_process/threshold_10_thin.png
Binary files differ