One Lost Henchman

Some tools, some graphics, some aimless rambling

Hello!

A stylized picture of the author.

My name's Phill Djonov, and I'm a video game programmer.

Sometimes I write code (and a little bit of it even makes it onto GitHub). Sometimes I solder microcontrollers to LED strips. Sometimes (rarely - too rarely) I even write stuff here.

This site's a little broken right now. Sorry about that. My old hosting provider was, uh, unhappy to discover that they'd given me a really good deal a few years back, so I'm rebuilding it bit by bit in my spare time on Azure. Good times.

Contact

I can sometimes be reached at phill@vec3.net, but absolutely never on social media. LinkedIn exists in a superposition of being social media and being not social media.

Recent posts

GJK

A long (long) time ago I made two big posts going through the GJK algorithm, how it works, and how to implement it efficiently. They were pretty cool and even had interactive diagrams in them designed to illustrate the geometric concepts and help to intuitively communicate why things work the way they do.

Read more...

Update: Getting Started with OpenSL on Android

A while ago I made a post about the use of OpenSL on Android. That post has an error, outlined below:

Read more...

WebGL Index Validation

If you've ever browsed through the WebGL spec, you've likely seen section 6: Differences Between WebGL and OpenGL ES 2.0. Right at the top of that section, we find section 6.1: Buffer Object Binding. That section reads as follows:

Read more...

HenchLua: Representing Values

Lua supports the following standard types:

Read more...

Introducing HenchLua

This is the first of a series of posts on the subject of HenchLua. HenchLua is an implementation of the Lua VM in C#. It's targeted at projects running in otherwise limited .NET contexts, such as web-based Unity games (the Unity plugin, I believe, requires pure verifiable CIL), mobile apps (which are memory-limited and must meet the limitations of Mono's full AOT compiler, or apps that run on the .NET Compact Framework (whose garbage collector has some serious performance issues, as anyone who's written an XNA game targeted at the Xbox can attest).

Read more...

Bicubic Filtering in Fewer Taps

This post is based on the technique described in GPU Gems 2, chapter 20, Fast Third-Order Texture Filtering. While that's certainly a good read, I found that the authors skipped over a lot of detail and optimized a little prematurely, making the result rather difficult to parse. If you've read and understood their paper, then this isn't going to be news to you.

Read more...

Simple Flip Book Animation in WPF

WPF makes it easy to animate numbers, colors, sizes, and a host of other properties. Unfortunately, it isn't easy to animate an ImageSource property, which is what we're usually looking for when implementing a flip book animation. The closest we get out of the box is ObjectAnimationUsingKeyFrames, which works, but it's very tedious to set up all of the individual key frame times.

Read more...

Using Win32 Icons in WPF

Using custom icons can be a little tricky in WPF. It's simple enough if you want to use your application's main icon or an icon file that you can refer to using a pack URI - so long as you do that, everything just works.

Read more...