diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..f5f802b
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,2 @@
+default:
+ python3 html-combiner.py
\ No newline at end of file
diff --git a/docs/media/blender/alien_tree.png b/docs/blender/alien_tree.png
similarity index 100%
rename from docs/media/blender/alien_tree.png
rename to docs/blender/alien_tree.png
diff --git a/docs/media/blender/alien_tree_preview.png b/docs/blender/alien_tree_preview.png
similarity index 100%
rename from docs/media/blender/alien_tree_preview.png
rename to docs/blender/alien_tree_preview.png
diff --git a/docs/media/blender/crab.png b/docs/blender/crab.png
similarity index 100%
rename from docs/media/blender/crab.png
rename to docs/blender/crab.png
diff --git a/docs/media/blender/crab_preview.png b/docs/blender/crab_preview.png
similarity index 100%
rename from docs/media/blender/crab_preview.png
rename to docs/blender/crab_preview.png
diff --git a/docs/media/blender/critters.mp4 b/docs/blender/critters.mp4
similarity index 100%
rename from docs/media/blender/critters.mp4
rename to docs/blender/critters.mp4
diff --git a/docs/media/blender/decapod_shock.png b/docs/blender/decapod_shock.png
similarity index 100%
rename from docs/media/blender/decapod_shock.png
rename to docs/blender/decapod_shock.png
diff --git a/docs/media/blender/decapod_shock_preview.png b/docs/blender/decapod_shock_preview.png
similarity index 100%
rename from docs/media/blender/decapod_shock_preview.png
rename to docs/blender/decapod_shock_preview.png
diff --git a/docs/blender/index.html b/docs/blender/index.html
index 8883886..a1aaf2d 100644
--- a/docs/blender/index.html
+++ b/docs/blender/index.html
@@ -10,50 +10,41 @@
-
+
-
Blender creations
-
I have been using Blender since around august 2020 on and off, and did a course in it 2021, which boosted my motivation a lot. I just like to make art in it and of course use it for game jams.
+
I have been using Blender since around august 2020 on and off, and did a course in it 2021, which boosted my motivation a lot. I just like to make art in it and use it for game jams.
-
+
diff --git a/docs/media/blender/shork_wallpaper.png b/docs/blender/shork_wallpaper.png
similarity index 100%
rename from docs/media/blender/shork_wallpaper.png
rename to docs/blender/shork_wallpaper.png
diff --git a/docs/media/blender/shork_wallpaper_preview.png b/docs/blender/shork_wallpaper_preview.png
similarity index 100%
rename from docs/media/blender/shork_wallpaper_preview.png
rename to docs/blender/shork_wallpaper_preview.png
diff --git a/docs/fractals/index.html b/docs/fractals/index.html
index 2f41d80..ccd6601 100644
--- a/docs/fractals/index.html
+++ b/docs/fractals/index.html
@@ -7,23 +7,80 @@
Fractals
+
-
+
-
Fractals
-
This page is a collection of fractal renderers I made in JS for a school assignment back in 2020. Please note that I don't use JS any more.
+
This page is a collection of fractal renderers I made in JS for a school assignment back in 2020.
Fractal tree
The splitting angle is defined by the mouses x position. The number of iterations is set in the first input field (default is 12). Each branch is slightly smaller than its parent, the factor is the second input field. Click the canvas to pause/resume the image.
@@ -69,9 +126,9 @@
diff --git a/docs/media/icons/favicon.png b/docs/icons/favicon.png
similarity index 100%
rename from docs/media/icons/favicon.png
rename to docs/icons/favicon.png
diff --git a/docs/media/icons/github.png b/docs/icons/github.png
similarity index 100%
rename from docs/media/icons/github.png
rename to docs/icons/github.png
diff --git a/docs/media/icons/itch.io.svg b/docs/icons/itch.io.svg
similarity index 100%
rename from docs/media/icons/itch.io.svg
rename to docs/icons/itch.io.svg
diff --git a/docs/logo.png b/docs/icons/logo.png
similarity index 100%
rename from docs/logo.png
rename to docs/icons/logo.png
diff --git a/docs/media/icons/youtube.png b/docs/icons/youtube.png
similarity index 100%
rename from docs/media/icons/youtube.png
rename to docs/icons/youtube.png
diff --git a/docs/index.html b/docs/index.html
index a365be8..70b73f6 100644
--- a/docs/index.html
+++ b/docs/index.html
@@ -10,27 +10,64 @@
-
+
-
Hello!
-
Welcome to my corner of the internet. I use this page to showcase some of my interesting projects in an easier to see way compared to just github. (This is very much a WIP)
+
Welcome to my corner of the internet. I use this page to showcase some of my interesting projects in an easier to see way compared to just github.
+ OVR Utils is a VR overlay application that has some useful tools for SteamVR. I have been working on it on and off since May 2021.
+
+
+ I wanted an overlay that could tell me the time without having to open the steam dashboard, and to see the battery levels of my controllers easily, but couldn't find one for free that also had linux support. So I decided to create my own, and also wrote down a long list of other useful tools. So far only a few of these have been implemented, such as the image overlay and the keyboard.
+
I have been using Blender since around august 2020 on and off, and did a course in it 2021, which boosted my motivation a lot. I just like to make art in it and of course use it for game jams.
- I am making a voxel engine in rust to learn rust and godot-rust as well as explore voxel systems.
-
-
-
Demo of fast terrain generation
-
-
Greedy mesh visualisation
-
Greedy mesh algorithm
-
The algorithm I'm using is one I made myself, inspired by a few others. I could not find an easy to understand explanation of how to do it but this artice and this article gave me somewhere to start
-
-
In this explanation I will assume basic knowledge of how meshes work and how to do the simplest form of culling for voxel meshes.
-
-
-
fig. 1: example set of voxels, with the simplest form of mesh generation applied.
-
-
To start off, we can break down the problem to 2 dimensions by recognising that each direction along the axis as well as each layer along those directions is independent. We then only have to process a single 2D slice of the voxel domain at once.
-
-
-
-
fig. 2: The algorithm only needs to consider one layer and direction at a time, highlighted in green
-
-
The first step is to generate "strips", essentially create long quads that cover connected voxels. We can loop through the plane and keep track of at most one active strip. The active strip is the last one started and we grow it as more voxels under it are traversed. In the inner loop we check the voxel at that position as well as the one above. With this we can determine if we need to stop the current strip, start a new one or do nothing. If there is not currently an active strip, a new one should be created when the voxel below is filled and the one above is empty (an exposed surface).
-
-
-
fig.3: Long strips of adjacent voxels can be merged into fewer, long quads.
- OVR Utils is a VR overlay application that has some useful tools for SteamVR. I have been working on it on and off since May 2021.
-
-
- I wanted an overlay that could tell me the time without having to open the steam dashboard, and to see the battery levels of my controllers easily, but couldn't find one for free that also had linux support. So I decided to create my own, and also wrote down a long list of other useful tools. So far only a few of these have been implemented, such as the image overlay and the keyboard.
-
+ I am making a voxel engine in rust to learn rust and godot-rust as well as explore voxel systems.
+
+
+
Demo of fast terrain generation
+
+
Greedy mesh visualisation
+
Greedy mesh algorithm
+
The algorithm I'm using is one I made myself, inspired by a few others. I could not find an easy to understand explanation of how to do it but this artice and this article gave me somewhere to start
+
+
In this explanation I will assume basic knowledge of how meshes work and how to do the simplest form of culling for voxel meshes.
+
+
+
fig. 1: example set of voxels, with the simplest form of mesh generation applied.
+
+
To start off, we can break down the problem to 2 dimensions by recognising that each direction along the axis as well as each layer along those directions is independent. We then only have to process a single 2D slice of the voxel domain at once.
+
+
+
+
fig. 2: The algorithm only needs to consider one layer and direction at a time, highlighted in green
+
+
The first step is to generate "strips", essentially create long quads that cover connected voxels. We can loop through the plane and keep track of at most one active strip. The active strip is the last one started and we grow it as more voxels under it are traversed. In the inner loop we check the voxel at that position as well as the one above. With this we can determine if we need to stop the current strip, start a new one or do nothing. If there is not currently an active strip, a new one should be created when the voxel below is filled and the one above is empty (an exposed surface).
+
+
+
fig.3: Long strips of adjacent voxels can be merged into fewer, long quads.
+
+
+
+
+
+
\ No newline at end of file
diff --git a/pages/blender/index.html b/pages/blender/index.html
index 41beb99..c8e90d2 100644
--- a/pages/blender/index.html
+++ b/pages/blender/index.html
@@ -8,30 +8,30 @@
Blender creations
-
I have been using Blender since around august 2020 on and off, and did a course in it 2021, which boosted my motivation a lot. I just like to make art in it and of course use it for game jams.
+
I have been using Blender since around august 2020 on and off, and did a course in it 2021, which boosted my motivation a lot. I occasionally make art in it and of course use it for game jams.
This page is a collection of fractal renderers I made in JS for a school assignment back in 2020. Please note that I don't use JS any more.
+
This page is a collection of fractal renderers I made in JS for a school assignment back in 2020.
Fractal tree
The splitting angle is defined by the mouses x position. The number of iterations is set in the first input field (default is 12). Each branch is slightly smaller than its parent, the factor is the second input field. Click the canvas to pause/resume the image.
Welcome to my corner of the internet. I use this page to showcase some of my interesting projects in an easier to see way compared to just github. (This is very much a WIP)
+
Welcome to my corner of the internet. I use this page to showcase some of my interesting projects in an easier to see way compared to just github.
+ OVR Utils is a VR overlay application that has some useful tools for SteamVR. I have been working on it on and off since May 2021.
+
+
+ I wanted an overlay that could tell me the time without having to open the steam dashboard, and to see the battery levels of my controllers easily, but couldn't find one for free that also had linux support. So I decided to create my own, and also wrote down a long list of other useful tools. So far only a few of these have been implemented, such as the image overlay and the keyboard.
+
I have been using Blender since around august 2020 on and off, and did a course in it 2021, which boosted my motivation a lot. I occasionally make art in it and of course use it for game jams.
- I am making a voxel engine in rust to learn rust and godot-rust as well as explore voxel systems.
-
-
-
Demo of fast terrain generation
-
-
Greedy mesh visualisation
-
Greedy mesh algorithm
-
The algorithm I'm using is one I made myself, inspired by a few others. I could not find an easy to understand explanation of how to do it but this artice and this article gave me somewhere to start
-
-
In this explanation I will assume basic knowledge of how meshes work and how to do the simplest form of culling for voxel meshes.
-
-
-
fig. 1: example set of voxels, with the simplest form of mesh generation applied.
-
-
To start off, we can break down the problem to 2 dimensions by recognising that each direction along the axis as well as each layer along those directions is independent. We then only have to process a single 2D slice of the voxel domain at once.
-
-
-
-
fig. 2: The algorithm only needs to consider one layer and direction at a time, highlighted in green
-
-
The first step is to generate "strips", essentially create long quads that cover connected voxels. We can loop through the plane and keep track of at most one active strip. The active strip is the last one started and we grow it as more voxels under it are traversed. In the inner loop we check the voxel at that position as well as the one above. With this we can determine if we need to stop the current strip, start a new one or do nothing. If there is not currently an active strip, a new one should be created when the voxel below is filled and the one above is empty (an exposed surface).
-
-
-
fig.3: Long strips of adjacent voxels can be merged into fewer, long quads.
- OVR Utils is a VR overlay application that has some useful tools for SteamVR. I have been working on it on and off since May 2021.
-
-
- I wanted an overlay that could tell me the time without having to open the steam dashboard, and to see the battery levels of my controllers easily, but couldn't find one for free that also had linux support. So I decided to create my own, and also wrote down a long list of other useful tools. So far only a few of these have been implemented, such as the image overlay and the keyboard.
-