A little (8-kilobyte) season's greetings in ROM form, for MSX computers (MSX1, using only the TMS9918 video controller). I wrote it in Z80 assembler language.
Links:
Pouet,
Demozoo
Screenshots:
お花見 (Ohanami)
October 2017
A 4-kilobyte demo featuring a tree in various phases of life and annual cycle, rendered with a painterly effect which is entirely procedural.
Released at Deadline 2017.
Click here for the source code.
Links:
Pouet,
Demozoo
(OpenGL, GLSL, Pixel Shaders)
I've put the main effect from the demo on Shadertoy.
Screenshots:
1
2
3
4
5
6
Dropletia
August 2017
A 4-kilobyte demo featuring voxelised particles with dynamics which produce a look similar to fluid simulation. The dynamics are not based on stored particle positions and integrated velocities but are computed semi-analytically within a vertex shader so the simulation is able to run 'in reverse' and is 100% stable. It also includes a trick for producing soft shadows from circular disc occluders.
Click here for the source code.
Released at Evoke 2017.
Links:
Pouet,
Demozoo
(OpenGL, GLSL, Pixel Shaders)
Screenshots:
1
2
3
4
5
6
7
Takochu Kiss
February 2017
A 2007-byte procedural picture of a couple of Takochus (a kind of rare Japanese collectible toy) made of out voxels. The shading is done only with closed-form math, there is no numerical integration of lighting in this one.
Click here for the source code.
Links:
Pouet,
Demozoo
(OpenGL, GLSL, Pixel Shaders)
Click
here for the full image.
Glittermorphosis
December 2016
A 4089-byte demo focusing on particle rendering, with front and back bokeh depth-of-field, motion blur, bloom, and lens flare effects. The bokeh aperture shape image is pre-rendered into a 3D texture, and the particles are drawn with GL_POINTS immediate mode. Each point covers the motion streak of the particle as a bounding box and a perpendicular distance test discards fragments early. All particle positions are produced by a closed-form pure function of time.
Click here for the source code.
Links:
Pouet,
Demozoo
(OpenGL, GLSL, Pixel Shaders)
It got 2nd place at Under Construction 2016.
Screenshots:
1
2
3
4
5
6
7
8
9
10
Blue Morpho
October 2016
A 8192-byte demo featuring depth-of-field effects (and something similar to anti-aliasing) produced using mipmapped volume textures and regular raymarching, and tree-like 3D forms produced by reaction-diffuse simulations. Use of OpenGL extensions when generating the volume textures is minimised by using framebuffer zero as a temporary store, and GLSL packing and unpacking functions are utilised to gain extra precision from that temporary store.
Click here for the source code.
Links:
Pouet,
Demozoo
(OpenGL, GLSL, Pixel Shaders)
Blocked Shower
August 2016
A 4096-byte demo featuring geometry which is defined by a signed distance field but rendered as voxels. This is done by alternating between raymarching and uniform grid traversal depending on the current distance to the geometry. The result is that the amount of geometry (the number of voxels, you could say) can be much higher compared to a uniform grid alone. It also makes shading easier for free since the SDF can be used for ambient shadowing. Directional shadows are produced by stepping through a fixed number of voxels from the hitpoint.
Links:
Pouet,
Demozoo
(OpenGL, GLSL, Pixel Shaders)
It got 4th place (out of 9) at Evoke 2016.
Screenshots:
1
2
3
4
5
Verlockend
August 2015
A 1249-byte picture of a dangerous-looking plant with some spider silk hanging around it, hinting that the venomous spider who spun it may still be lurking in the shadows.
It came 1st in the Sundown 2015 4k procedural gfx competition. But it's under 2k!
Links:
Pouet,
Demozoo
(OpenGL, GLSL, Pixel Shaders)
Click here for the full image.
Love Reaction
June 2015
A 3526-byte demo featuring some kind of love story, told via the medium of fluid dynamics simulation. To be precise the simulation is an implementation of the Gray-Scott reaction-diffusion model, in fixed-point arithmetic using MMX instructions to make it fast and universally repeatable. I wrote the main code and designed/directed this thing.
Click here for the source code.
Links:
Pouet,
Demozoo
(OpenGL, GLSL, Pixel Shaders)
It came 3rd in the Nordlicht 2015 PC demo competition.
Screenshots:
1
2
3
4
5
6
Emerge
December 2014
A full-sized PC demo featuring raytraced reflections, particle effects, landscape shadowing, and keyframed animations. It was created to promote Revision 2015. As well as serving as an invitation to the event, the engine and assets were used to create animation which were shown at the event itself. Also uses GPU distance field evaluation for the collision detection of small debris.
The demo also features deferred lighting, cascaded shadowmaps, ambient scattering, screenspace motionblur, and screenspace ambient occlusion.
Click here for the source code.
Links:
Pouet,
Demozoo
(C++, OpenGL, GLSL, Vertex Shaders, Geometry Shaders, Pixel Shaders)
Screenshots:
1
2
3
4
5
6
7
8
9
10
11
12
Decay
November 2014
A 3092-byte procedural executable picture featuring tree-like shapes, volumetric shadows and compressed image data. It was not entered into any competition.
Click here for the source code.
Links:
Pouet,
Demozoo
(C, OpenGL)
Click here for the full image.
Blitzgewitter
April 2014
A full-sized PC demo which was produced to promote Nordlicht and features a handful of effects such as screen-space collision detection, raytracing, voxel-based illumination and glossy reflections, simple volumetric scattering (for explosions and clouds), and flashy glowing stuff. I wrote all of the code and did most of the visual design.
Click here for the source code.
Links:
Pouet,
Demozoo
(C++, OpenGL, GLSL, Vertex Shaders, Geometry Shaders, Pixel Shaders)
It won 2nd place at Revision 2014. It was also nominated for a Meteoriks award.
RCM Invitro 2013
October 2013
A full-sized PC demo which was produced to promote Retro Computer Museum. It features a retro style and fake low-fi effects such as TV distortion and low-precision transformations. It was not entered into any competition.
Click here for the source code.
Links:
Pouet,
Demozoo
(C++, OpenGL, GLSL, Vertex Shaders, Geometry Shaders, Pixel Shaders)
Screenshots:
1
2
3
4
5
6
7
8
9
10
Overdrive
August 2013
A large Titan production featuring many never-before-seen effects on the Sega Mega Drive (aka Sega Genesis) console. My work on this consisted of the invention of a fast cube-rendering trick (ab)using the scrolling hardware, a couple of transition effects, and a pixelart animation processing tool.
Links:
Pouet,
Demozoo
(C, Motorola 68k Assembler)
The Careless Wizard
December 2012
A 4KiB procedural executable image featuring finely-tessellated parametric surfaces, many types of procedural texture, and a CPU-based tilt-shift blur. I wrote all the code and did most of the design. It won 1st place at the Ultimate Meeting 2012.
Links:
Pouet,
Demozoo
(C, OpenGL, GLSL, Pixel Shaders)
Click here for the full image.
Erosion
October 2012
A 4KiB animated demo featuring a rust effect created using ambient occlusion, and some rain. This was entirely created by me, except for a synth library that I used - the highly popular 4klang.
Links:
Pouet,
Demozoo
(OpenGL, GLSL, Pixel Shaders)
It won 1st place at TRSAC 2012 and my prize was an NVIDIA GTX 670!
Hexahedron
March 2012
A PC demo featuring a few different effects. This was entirely created by me, including a very simple synth and sequencer. The music is generated dynamically using SDL audio callbacks. It was not entered into any competition.
It features signed distance field raymarching, shadowmapping, screenspace depth-of-field, bloom, render-to-texture and more.
Links:
Pouet,
Demozoo
(C++, OpenGL, GLSL, Vertex Shaders, Pixel Shaders)
Screenshots:
1
2
3
4
5
6
7
8
9
10
11
12
13
14