Lucky that I’ve been working on something interesting to look at! Here’s the output of my very first VectorStorm virtual shader.
Inside the simulated VectorStorm hardware, shaders are enabled inside the display list; when you enable a shader, the rest of the display list is passed to the shader, and the shader uses the display list as input, and outputs a different display list which the renderer then draws.
This is a ‘jitter’ shader. It’s the sort of thing you occasionally see in music-based games where shapes shake in time to the beat. Although here it’s just shaking continually, as it’s only a proof of concept. It takes the lines which are queued up to render, subdivides them if necessary (as with the extremely long horizontal lines of the button frames in this image), and then adds random offsets to make the lines appear to be ‘shaky’.
I’m now wondering whether it’ll really be necessary to implement the ‘vertex’ shaders I talked about before. Bizarrely, they’d actually be more difficult to implement in the engine, though they’d be easier for a game coder to write, since they don’t require as much in-depth knowledge of the internals of display lists.