A declarative API for particle systems

  • Authors:
  • Pavel Krajcevski;John Reppy

  • Affiliations:
  • Disney Interactive Studios;University of Chicago

  • Venue:
  • PADL'11 Proceedings of the 13th international conference on Practical aspects of declarative languages
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

Recent trends in computer-graphics APIs and hardware have made it practical to use high-level functional languages for real-time graphics applications. Thus we have the opportunity to develop new approaches to computer graphics that take advantage of the high-level features of functional languages. This paper describes one such project that uses the techniques of functional programming to define and implement a combinator library for particle systems. Particle systems are a popular technique for rendering fuzzy phenomena, such as fire, smoke, and explosions. Using our combinators, a programmer can provide a declarative specification of how a particle system behaves. This specification includes rules for how particles are created, how they evolve, and how they are rendered. Our library translates these declarative specifications into a low-level intermediate language that can be compiled to run on the GPU or interpreted by the CPU.