summaryrefslogtreecommitdiff
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
parent73332a62e385d380ea124a6a05e65b4bef78b3ae (diff)
bevy_outline_post_process page
-rw-r--r--config.toml1
-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
-rw-r--r--content/projects/white_I/index.md17
-rw-r--r--sass/style.scss6
-rw-r--r--templates/project-page.html15
-rw-r--r--templates/projects.html2
10 files changed, 67 insertions, 2 deletions
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
--- /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
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
+
+<br/>
+
+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 @@
<a href="{{ get_url(path='@/projects/_index.md') }}"> <- back to projects</a>
<h1 class="title">
{{ page.title }}
+ {% if page.extra.wip %}
+ (<span class="wip-indicator">wip</span>)
+ {% endif %}
</h1>
+{% if page.description %}
<p><strong>{{ page.description }}</strong></p>
+{% endif %}
{% if page.taxonomies.categories %}
<p>category: {{ page.taxonomies.categories[0] }}</p>
@@ -39,4 +44,14 @@
{% endif %}
<br/>
{{ page.content | safe }}
+{% set project = get_taxonomy_term(kind="projects", term=page.title, required=false) %}
+{% if project and project.page_count > 0 %}
+<br/>
+<p><strong>related blog posts:</strong></p>
+<ul>
+ {% for page in project.pages %}
+ <li><a href="{{ page.permalink }}">{{ page.title }}</a> ({{ page.date }})</li>
+ {% endfor %}
+</ul>
+{% 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 @@
<b>{{category.name}}</b>
<ul>
{% for page in category.pages %}
- <li><a href="{{ page.permalink | safe }}">{{ page.title }}: {{ page.description }}</a></li>
+ <li><a href="{{ page.permalink | safe }}">{{ page.title }}{% if page.description %}: {{ page.description }}{% endif %}</a>{% if page.extra.wip %} (<span class="wip-indicator">wip</span>){% endif %}</li>
{% endfor %}
</ul>
{% endfor %}