From 974e8a389fbe4aa427658b6fe3fd43c64ef1e4ca Mon Sep 17 00:00:00 2001
From: kosumi <chankocyo@gmail.com>
Date: Wed, 3 May 2023 23:33:15 -0600
Subject: [PATCH 1/3] Rustracer

---
 content/news/045/index.md | 23 ++++++++++++++++++++++-
 1 file changed, 22 insertions(+), 1 deletion(-)

diff --git a/content/news/045/index.md b/content/news/045/index.md
index 62a88734a..e5e830fef 100644
--- a/content/news/045/index.md
+++ b/content/news/045/index.md
@@ -1,4 +1,4 @@
-+++
+:q+++
 title = "This Month in Rust GameDev #45 - April 2023"
 transparent = true
 date = 2023-05-08
@@ -103,6 +103,27 @@ Participate [by joining the Discord server][cybergate-dis].
 
 ## Tooling Updates
 
+### [Rustracer][rustracer]
+
+[![Youtube screenshot: rustracer-0.2.0 demo](
+rustracer.jpg)][rustracer-0.2.0 demo]
+
+Rustracer, a PBR [glTF 2.0](https://www.khronos.org/gltf) renderer based on Vulkan ray-tracing.
+It can render (almost) any glTF 2.0 scene by pure path tracing at an interacive speed.
+Compared with rasterization-based glTF renderers, Rustracer needs some (scene-dependent) time for 
+sample accumulation in exchange for global illumination.
+
+On top of that, the control panel provides a rich set of viewing options and debugging utilities.
+
+It can serve as a glTF viewer or a reference renderer.
+
+The code base itself is a learning resource for [Ash][Ash](Vulkan bindings in Rust), hardware ray tracing 
+and glTF processing in Rust.
+
+[rustracer]: https://github.com/KaminariOS/rustracer
+[rustracer-0.2.0 demo]: https://youtube.com/playlist?list=PLD1H28onwV_kdxp1ajUL6riK_dNzMAXGj
+[Ash]: https://github.com/ash-rs/ash
+
 ## Library Updates
 
 ## Popular Workgroup Issues in Github

From 02b6df11b6e3c1de60b5eb17f21ceea6fcfcd570 Mon Sep 17 00:00:00 2001
From: kosumi <chankocyo@gmail.com>
Date: Wed, 3 May 2023 23:34:42 -0600
Subject: [PATCH 2/3] Rustracer cover

---
 content/news/045/rustracer.jpg | Bin 0 -> 8996 bytes
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100644 content/news/045/rustracer.jpg

diff --git a/content/news/045/rustracer.jpg b/content/news/045/rustracer.jpg
new file mode 100644
index 0000000000000000000000000000000000000000..62f2e1166ba2bbeed7f11a6e793998fe5cf6109c
GIT binary patch
literal 8996
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
b6OOto@ZsN6_-DE)2!F4-|Gz%SPKN#qep9)s

literal 0
HcmV?d00001


From df294021eca8885cf73113cf81df123203478693 Mon Sep 17 00:00:00 2001
From: Andrey Lesnikov <ozkriff@gmail.com>
Date: Mon, 15 May 2023 15:36:06 +0400
Subject: [PATCH 3/3] N45: Rustracer: Fmt fixes

---
 content/news/045/index.md | 20 +++++++++++---------
 1 file changed, 11 insertions(+), 9 deletions(-)

diff --git a/content/news/045/index.md b/content/news/045/index.md
index e5e830fef..743fc6e39 100644
--- a/content/news/045/index.md
+++ b/content/news/045/index.md
@@ -1,4 +1,4 @@
-:q+++
++++
 title = "This Month in Rust GameDev #45 - April 2023"
 transparent = true
 date = 2023-05-08
@@ -105,24 +105,26 @@ Participate [by joining the Discord server][cybergate-dis].
 
 ### [Rustracer][rustracer]
 
-[![Youtube screenshot: rustracer-0.2.0 demo](
+[![Youtube screenshot: demo with a couple of cars inside a box](
 rustracer.jpg)][rustracer-0.2.0 demo]
 
-Rustracer, a PBR [glTF 2.0](https://www.khronos.org/gltf) renderer based on Vulkan ray-tracing.
+Rustracer, a PBR [glTF 2.0][glrf-2-0] renderer based on Vulkan ray-tracing.
 It can render (almost) any glTF 2.0 scene by pure path tracing at an interacive speed.
-Compared with rasterization-based glTF renderers, Rustracer needs some (scene-dependent) time for 
-sample accumulation in exchange for global illumination.
+Compared with rasterization-based glTF renderers, Rustracer needs some
+(scene-dependent) time for sample accumulation in exchange for global illumination.
 
-On top of that, the control panel provides a rich set of viewing options and debugging utilities.
+On top of that, the control panel provides a rich set of viewing options
+and debugging utilities.
 
-It can serve as a glTF viewer or a reference renderer.
+It also can serve as a glTF viewer or a reference renderer.
 
-The code base itself is a learning resource for [Ash][Ash](Vulkan bindings in Rust), hardware ray tracing 
-and glTF processing in Rust.
+The code base itself is a learning resource for [Ash] (Vulkan bindings in Rust),
+hardware ray tracing and glTF processing in Rust.
 
 [rustracer]: https://github.com/KaminariOS/rustracer
 [rustracer-0.2.0 demo]: https://youtube.com/playlist?list=PLD1H28onwV_kdxp1ajUL6riK_dNzMAXGj
 [Ash]: https://github.com/ash-rs/ash
+[glrf-2-0]: https://www.khronos.org/gltf
 
 ## Library Updates