Virtualizing The Canvas

9 minute read
A description of how I created a fixed-size canvas element that could render something much larger, by managing a virtual viewport. Scrolling, zooming, and mapping any location between user and canvas space is automatically handled by the viewport.

The shape of grief

11 minute read
The experience of losing our pet cat, Percy, the grief that followed, and some reflections on that grief.

Big O? Big "ohhhhhh" 💡

6 minute read
A practical introduction to big O notation. What is it? What's it good for? We'll dive into a practical approach to understand big O notation, and how we can use it in our daily lives effectively.

Optimizing Chunk Access

3 minute read
How to performantly access voxel storage by taking advantage of CPU cache lines.

Delving Into SSAO

6 minute read
An introduction to screen-space ambient occlusion, a technique for shading pixels based on how much they are blocked by nearby geometry.

Greedy Voxel Meshing

2 minute read
A brief explanation of greedy meshing for voxel data, along with an animation to help explain the process.

static_assert in C++11

4 minute read
A light discussion on the use of static_assert, with an example of building an "all true" function

Java Annotations: A [Somewhat] Brief Introduction

6 minute read
A look into Java annotations, what you can use them for and how you can write your own.

Other stuff