Edict.20170915

 — 

This fortnight saw a lot of Vulkan experimentation and further work towards consistent vertex buffer handling in asset loading and dynamic geometry generators.

Vulkan

Delving into Vulkan for a week was interesting, but very intimidating. There are an amazing number of concepts that need to be chained together to accomplish …

Category: edict Tags:

Functional Style Preprocessor Macros

 — 

The C preprocessor has a deservedly poor reputation as a means to define function-like code. However there aren’t many guaranteed alternatives for trivial code generation without resorting to external tools. I’ve been making use of it for some time to iterate over lists of types when manually instantiating …

Category: cxx Tags:

Edict.20170904

 — 

The bulk of this weeks work focused on integration of game logic with the render libraries, chasing up toolchain issues, and investigating an OpenGL state management bug. I’m still well and truely focussed on fairly dry technical and internal development details here.

Simluation reintegration

We’re now back to …

Category: edict Tags:

Linux swap over loopback devices

 — 

Some Linux filesystems do not natively support swapfiles as they do not implemented to required kernel calls. Notable amongst this list of filesystem is btrfs, whose snapshot functionality I use to streamline my backup system.

Unfortunately, some systems I maintain have a chronic lack of RAM and require a swapfile …

Category: linux Tags:

Gentoo pkg-config and cross-compilation

 — 

A note to myself (given that I’ve solved this issue a few times now).

If you’re attempting to cross-compile under Gentoo, and are using pkg-config, certain functionality will be silently disabled. Of particular note for my purposes is PKG_CONFIG_PATH, which I use as part of my autotools sub-package …

Category: code Tags:

Debugging with Library Interposition

 — 

At some point when debugging one will encounter a scenario where it is desirable to modify or observe an application’s interaction with an external library (or the system). Various techniques are available, but few are quite as straightforward as ‘library interposition’: the practice of overriding references to symbols from …

Category: code Tags:

KVM and WiFi

 — 

When developing cross-platform code, testing is critical. Access to various families of operating systems will allow rapid identification of (some) inadvertent platform specific assumptions. While there are some public testing services, like Travis CI, you will inevitably need to test locally at some point. I use a set of small …

Category: system Tags:

Cross platform unit testing with Wine and Autotools

 — 

My current project targets the Windows and Linux operating systems. Development is primarily under Linux and uses the Autotools build system. Windows binaries are generated with the mingw cross compilers. This setup isn’t for everyone, but it suits me quite well.

For my testing needs I use Automake’s …

Category: code Tags:

Coherent Noise Generation: First Principles

 — 
Category: misc Tags:

© gim 2016

Powered by Pelican