A declarative API for particle systems
Disney Interactive Studios
Practical Aspects of Declarative Languages, Lecture Notes in Computer Science, 2011, Volume 6539/2011, 130-144
@article{krajcevski2011declarative,
title={A declarative API for particle systems},
author={Krajcevski, P. and Reppy, J.},
journal={Practical Aspects of Declarative Languages},
pages={130–144},
year={2011},
publisher={Springer}
}
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.
August 21, 2011 by hgpu