Presentation is loading. Please wait.

Presentation is loading. Please wait.

Functional Image Synthesis. Pan An image synthesis “language” Images are functions Continuous and infinite Embedded in a functional host language Reusable.

Similar presentations


Presentation on theme: "Functional Image Synthesis. Pan An image synthesis “language” Images are functions Continuous and infinite Embedded in a functional host language Reusable."— Presentation transcript:

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:


Download ppt "Functional Image Synthesis. Pan An image synthesis “language” Images are functions Continuous and infinite Embedded in a functional host language Reusable."

Similar presentations


Ads by Google