* Your assessment is very important for improving the work of artificial intelligence, which forms the content of this project
Download PowerPoint file
Survey
Document related concepts
Transcript
Functional Image Synthesis Pan • • • • • An image synthesis “language” Images are functions Continuous and infinite Embedded in a functional host language Reusable optimizing compiler Examples What’s an image? • Assignment of color to points: R2 Color • Infinite, but color may be transparent • Useful generalization: R2 a Expressing functions • Use l-calculus (Church, Curry, etc): • Or, non-anonymously: • Currying isomorphism: (ab) g a (b g ) Good for partial application Spatial transforms Images Higher-order functions Apply filter “about” a point: Examples Programming example Another Some details Another 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”. More examples 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