I implemented solid rendering in my hypercube code, but it slowed it down too much (5 seconds per frame on the 386). So I ported it to use SDL instead of svgalib, now 10% CPU usage on this machine rendering 25 frames per second. Unfortunately, re-coding it to variable display size will be a lot more work than re-coding to SDL was - I had to change 3 files for SDL, but the screen size is hard coded in various places, and even worse it's hardcoded to a fixed size, will be a nightmare if I want to have a resizable window. One step at a time, the next version will have the size specified on the command line.
There are some "quirks" that might prevent it working on all architectures/platforms - notably stack.(c|h) assumes blindly that sizeof(int)==sizeof(void *).