-
A Metal Renderer in Swift Playgrounds (Part 6) Jul 1, 2022A quick recap - I have a voxel spaceship orbiting a distinctly low poly planet and it looks a bit odd. Making low poly models on an iPad is hard because the tools available basically aren’t Blender (or are …
-
A Metal Renderer in Swift Playgrounds (Part 5) Jun 26, 2022With the planet, spaceship, skybox and trails in place, the scene was starting to look pretty cool. But it was far from a game. Although I was not planning to get sound working at this stage, I allocated some time to …
-
A Metal Renderer in Swift Playgrounds (Part 4) Jun 17, 2022Space Flight I’ve continued working at a good pace. Having got the model loading working I made the scene more interesting. I removed the spinning cubes and put the icosahedron in the middle as a planet. I updated …
-
A Metal Renderer in Swift Playgrounds (Part 3) Jun 15, 2022Voxel Spaceships The next feature I’ve decided to add is model loading. Apple have out of the box code that is capable of loading Wavefront Obj files which is what I plan to use for the first forays into this area. …
-
A Metal Renderer in Swift Playgrounds (Part 2) Jun 11, 2022I’ve allocated quite a lot of spare time to writing on the project over the last week and have made progress on the renderer. A rough timeline of what I’ve done and in what order is: Draw a triangle with …
-
A Metal Renderer in Swift Playgrounds May 19, 2022A little while ago I started a project to write a Metal renderer on my iPad in Playgrounds. A brief history is that for various reasons I am often away from my computer but have access to my iPad. I like experimenting …
-
Low Poly Astronaut Run Cycle Jan 2, 2022My first go at animation: a run cycle for a low poly astronaut I made with Blender.
-
Ray Tracing in One Weekend with Rust Jul 12, 2017Recently I was reading through the current edition of Effective Modern C++ which covers up to C++14, and I found myself getting bogged down by the huge number of language features and in particular the caveats around …
-
Running Doom on macOS Jun 14, 2017I love Doom, and by Doom I mean the various classic Dooms - Ultimate Doom, Doom 2: Hell on Earth, and the Final Doom expansions. I only had Ultimate Doom shareware on my 386 as a kid but I played all of them a lot later …
-
Wrapping Async functions in Promises Jan 15, 2016A lot of core APIs in node.js have two forms for each function - synchronous and asynchronous. The synchronous versions block until the function has completed, while the asynchronous versions do not block - instead …
-
Functional Java 8 Nov 12, 2015I’ve been using Java 8 in some anger lately, and have encountered one or two tips that are worth sharing. I’ll start with some notes about lambda expressions and the Stream API that helped me thinking about …
-
GL Shaders and Atom Nov 10, 2015Coming from IntelliJ, CLion is my favourite C/C++ IDE. It also has many plugins that extend its functionality beyond C++, and one that I’ve found useful while experimenting with game development is the GLSL plugin …