Chapter 9. Continuous time

 

This chapter covers

  • Continuously varying cells
  • Sampling a continuous time model
  • Measuring time

The video games we’ve shown so far use a frame—of 1/60th of a second or whatever—as a basic unit of time. We’ll show you how continuous time lets you remove the concept of a frame, and model the animation in a clean, natural, declarative way that’s closer to the underlying concept. If it’s a physics simulation, the model can more or less directly express the physics.

9.1. Rasterizing time

The difference between a discrete (or frame-based) and continuous representation of time is analogous to the representation of space in images. There are two basic models of images:

  • Raster graphics— The image is represented as a bitmap where a pixel is the basic unit of space. The resolution of the image is baked into the image data, and changing the resolution usually results in a loss of quality. JPEG and PNG image formats work this way.
  • Vector graphics— The image is described using lines and curves independently of any display resolution. Space is treated as continuous. VRML, X3D, and PDF use this representation.

A vector image can be rasterized, where it’s converted to a raster image of a given resolution. The quality is limited only by the output resolution.

In an analogous way, FRP lets you define a continuous animation and then sample it at any frame rate you like. This is like rasterization, but in the time domain instead of space.

9.2. Position as a function of time

9.3. The animation loop

9.4. Measuring time

9.5. Summary