Abstract
This paper introduces a solution to compute L-systems on parallel architectures like GPUs and multi-core CPUs. Our solution can split the derivation of the L-system as well as the interpretation and geometry generation into thousands of threads running in parallel. We introduce a highly parallel algorithm for L-system evaluation that works on arbitrary L-systems, including parametric productions, context sensitive productions, stochastic production selection, and productions with side effects. This algorithm is further extended to allow evaluation of multiple independent L-systems in parallel. In contrast to previous work, we directly interpret the productions defined in plain-text, without requiring any compilation or transformation step (e.g., into shaders). Our algorithm is efficient in the sense that it requires no explicit inter-thread communication or atomic operations, and is thus completely lock free.
Original language | English (US) |
---|---|
Pages (from-to) | 585-593 |
Number of pages | 9 |
Journal | Computers and Graphics (Pergamon) |
Volume | 34 |
Issue number | 5 |
DOIs | |
State | Published - Oct 2010 |
Externally published | Yes |
Bibliographical note
Funding Information:This research was supported by the Austrian FIT-IT Visual Computing initiative, project GAMEWORLD (no. 813387), and by the NSF, contract nos. IIS 0612269, CCF 0643822, and IIS 0757623.
Keywords
- Graphics hardware
- L-systems
- Parallel processing
- Real-time rendering
ASJC Scopus subject areas
- General Engineering
- Human-Computer Interaction
- Computer Graphics and Computer-Aided Design