Download presentation
Presentation is loading. Please wait.
Published byAshly Stowe Modified over 10 years ago
1
Functional Image Synthesis
2
Pan An image synthesis “language” Images are functions Continuous and infinite Embedded in a functional host language Reusable optimizing compiler
3
Examples
4
What’s an image? Assignment of color to points: R 2 Color Infinite, but color may be transparent Useful generalization: R 2
5
Expressing functions Use -calculus (Church, Curry, etc): Or, non-anonymously: Currying isomorphism: ( ) Good for partial application
6
Spatial transforms
7
Images
8
Higher-order functions Apply filter “about” a point:
9
Examples
10
Programming example
11
Another
12
Some details
13
Another
14
Implementation An “embedded language”, but compiled. Programs manipulate expression trees. Almost transparent, via overloading. Automatic full inlining. Simplification via smart constructors. First-order CSE and loop hoisting. Easy to reuse for new “language”.
15
More examples
16
Conclusions Modular & efficient image synthesis DSL design & implementation technique: –Simple, computable semantics –Embed in functional host language –Reusable optimizer & code generator To try: sound, 3D, … Freely available – try it out: http://research.microsoft.com/~conal/pan
Similar presentations
© 2024 SlidePlayer.com. Inc.
All rights reserved.