Prior work








PS3 XMB Waves

Behind the Playstation3 menu is a relaxing abstract wave surface.

It is made with a low-res simulated mesh, which is used to construct a high-res bezier surface.

It uses Verlet integration, simple wind forces and a Free Form Deformation grid for atist control.

Finally it is rendered with a fresnel shader, fullscreen AA and blur.

I also wrote several shaders for other things like the icons, the store and the photoviewer.








PS3 Canyon Visualiser

This is the default music visualiser of the Playstation3. It interpolates between many varied settings so it is always changing.

The mesh quads are separate so they can be blown apart for an interesting effect.

The front of the canyon is shaped by the frequencies of the music and has a different colour to make it stand out.

Finally, there is heavy use of a depth of field blur to make a soft and dreamy experience.








PS3 Earth Visualiser

This is the second music visualiser of the Playstation3.

Various effects including HDR glare, smooth interpolation of textures, progressive buffer LOD, atmospheric shading, parallax mapping, etc.

There is no interaction with the music, it's just something peaceful to look at.








Pixeljunk Racers

Pixeljunk Racers is an overhead racing game for Playstation3. Up to seven local players can compete and play can quickly become frantic.

I wrote the entire graphics engine which is primarily sprite based, with techniques such as soft shadows, normal mapping and distortion.

I also implemented many aspects of game itself, such as some of the AI, the menus, per-level special effects, etc.








Pixeljunk Monsters

Pixeljunk Monsters is an insanely addictive strategy game for Playstation3. It is a tower defense game with a twist.

It also used my graphics engine, with extra special effects like glow, particles, weather (rain,snow,cloud shadows), explosion induced screen distortion, blur, realistic refracting water, etc.

I also helped to implement many aspects of gameplay, such as the towers' behaviour, butterflies, menus, etc.








Realtime Raytracer

Raytracing is conceptually very easy. Just cast rays for each pixel into a scene and determine its colour. Doing it in realtime is more of a challenge.

This program uses a variety of techniques to achieve realtime framerates such as multithreading (using OpenMP), screen-space subdivision, single sample soft shadows, deferred texturing and many more.

Currently, no spatial subdivision is used but that would be the next step if more objects are to be rendered.

I get about 40-50 fps on my little laptop. Over a hundred on my humble 3GHz desktop.








Maiko Robot

This is Maiko. She is an interactive avatar designed for research into the uncanny valley. She is not finished, but this video should give a basic idea of the project.

The system includes UV space soft shadows and GPU matrix palette skinning.








Soft Robot

This is a simulation mixing elastic deformable materials with a rigid articulated skeleton. This 'creature' was evolved for locomotion.

Basically, it is like Karl Sims' work but with elastic skin.








Centipede

This is an artificial centipede designed for research into foot slippage of polypedal gaits.

It is simulated with ODE and rendered with POVRay.










Fluid Locomotion

This is a simple fluid dynamics system running on the GPU interacting with a generic fish/eel shape.

This project was designed to investigate the locomotive efficiency of various swimming patterns and body shapes.








Soft Ball Slug

This is an other locomotion experiment.

It is a soft body, controlled by an excitable media across the surface.

'Light' from the green goal influences the reaction diffusion system on the skin, causing travelling waves to propogate towards the light.

This motion, in conjunction with ground friction, is responsible for the phototaxis.








Bloboids

This project is an interactive art exhibition which was displayed at a science fair called Science et Cite in Zurich in May of 2001.

The objects develop through a process whereby interacting chemicals on the surface promote local growth and attribute changes.

The system allowed users to select aesthetically appealing objects to breed.










Hexapod locomotion

This was a test of a simplified dynamics model. The system uses a mixture of inverse kinematics and forward dynamics to achieve plausible locomotion.

This system is realtime but was rendered with povray just for fun.

The terrain comes from a perlin noise function.








Iterated Function System

An iterated function system in realtime using a million particles on the GPU.








2D Global Illumination

This is a simple animation of global illumination of emissive circles.

Basically, for each pixel, multiple rays are cast which provide light to the pixel if they hit a circle.

The source code is available here.








flOw Implementation Experiment

I am a big fan of the PS3 game flOw, from ThatGameCompany. I started implementing something similar just for fun.

It doesn't have any blur or glow or anything fancy yet, and the segmented creatures are just random. So it's not very aesthetically appealing, but it's a good start.