Perspective-Correct Texturing

  • Demos
  • Posted on March 28th, 2009

Thatcher Ulrich has created a perspective-correct texturing demo using triangle texture mapping. To quote Thatcher: “Old software-rendering tricks ride again!”

Not the latest news, but impressive nevertheless

Not the latest newspaper, but impressive nevertheless

Thatcher explains how it works:

The subdivision method is fairly simple; the idea is that each triangle edge is tested to see how badly it needs perspective correction. Each edge is tested independently. Each edge that needs subdivision is bisected. This gives 8 cases for any triangle (each edge can either be bisected, or not), generating between 1 and 4 output triangles. Then the process is applied recursively. Because it is edge centric, adjacent triangles make the same decisions for shared edges, and there are no t-junctions.

Play around with the perspective correct texturing demo!


  • Demos
  • Posted on March 27th, 2009

Canopy is a fractal tree zoomer created by Ryan Alexander using the HTML canvas element. As the tree evolves, you’ll zoom in closer and closer… it’s all a bit trippy!

Creepy trees

Creepy trees

Press play to start falling, click to go faster. Try turning Mutation and Bloom on. The tree will get a little weirder. What kind of forest is this?

Works best in Chrome or Safari 4.

View the Canopy demo


Z-War is a completely JavaScript based game which loads certain components (such as the player and enemies) as canvas elements on to the playing area. The basic premise is simple: stay alive and kill zombies; but the game makes it fairly difficult to kill the pesky undead with the sword option being tough to use as it means you have to get very close to them. Z-War was created by Darkimmortal.

Running from the zombies seems to be more effective than shooting

Running from the zombies seems to be more effective than shooting

There’s also a nice canvas rendering effect if you click the link at the top of the title screen in Firefox.

Play Z-War!

Create Your Own Canvas Paint App

  • Demos
  • Posted on March 25th, 2009

Mihai Sucan has created a helpful tutorial on how to create your very own simple HTML canvas paint application over on the Opera Developer Community.

Making a web application that allows users to draw on a canvas requires several important steps: setting up your HTML document with a canvas context (a canvas element with an id), setting up your script to target that canvas context and draw inside it and adding the required mouse event handlers for user interaction and associated logic. Once the event handlers are in place, it’s then fairly simple to add any desired functionality.

Your own paint app

Your own paint app

Check out the tutorial and make your own paint app!

Lindenmayer System

Lindenmayer systems are a compact way to describe iterative graphics, where the basic idea is to define complex objects by successively replacing parts of a simple object using a set of rewriting rules which can be carried out recursively. This smart L-system demo is made using our favourite HTML element.. canvas. If you’re lost and not sure what we’re talking about, check out Wikipedia.

Pretty Koch Snowflake....


View the Lindenmayer System canvas demo


  • Demos
  • Posted on March 23rd, 2009

Dean McNamee may get a reputation as Doctor Frankenstein after his latest canvas demo, Monster, which shows off the functionality of his forthcoming 3D canvas library pre3D.

What's that coming over the hill?

What's that coming over the hill?

Monster is a demonstration of what can be done with browser web standards (without Flash). A square turns to a cube, a sphere, and a monster. Realtime procedural 3d in JavaScript.

Works best in Chrome.

View the Monster demo

Welcome to Canvas Demos

Home to applications, games, tools and tutorials that use the HTML 5 <canvas> element - which allows for dynamic scriptable rendering of bitmap images.

Browser check

  • canvas
  • canvas text

It looks as though your browser does not support canvas natively. Why not try one of these browsers?

Learn more about canvas support

Canvas news

Site news

Submit your demo

Submit your demo, and if we like it we'll feature it on Canvas Demos!