0:00 / 0:00
(fourth RacketCon): Neil Toronto — Purely Functional 3D in Typed Racket
Racket
5K subscribers • 11 videos on Hallway
- Recommended by 2 people: 1 on Lobsters and 1 curated list.
- Presented by Neil Toronto
Advanced. Deep dive for people who know the field.
6.9K views12 years ago2 recommendations
Programming languagesGraphics and audioLisp and ClojureRenderingFunctional programming
Neil Toronto demonstrates a standalone 3D engine with a purely functional API built using Typed Racket.
Efficient 3D engines use scene databases to quickly answer queries such as "What must be drawn if the viewer is here and looking this direction?" and "Return all non-opaque triangles in back-to-front order." Most 3D engines are written in an imperative style, even though most scene databases are structured as trees and operations on them can be done without destructive updates. In this talk, I give a sneak peak at a standalone 3D engine with a purely functional API, comprised mostly of combinators that operate on scene databases. I intend it to replace Plot's internal 3D engine, which draws on Cairo device contexts, but also be flexible and efficient enough to render simple game scenes using OpenGL. Neil Toronto is a recent PhD graduate from Brigham Young University, now researching programming language support for reliable mathematical computation at University of Maryland, College Park. He writes programs to draw pretty pictures in his nonexistent spare time.Why it's here
2 people recommend thisWhat people say. Recommended as an interesting exploration of building a 3D graphics engine using purely functional paradigms.
programming-talkscurated list on GitHubRecommends
Under “Racket”
Purely Functional 3D in Typed Racket 00:22:15 by **Neil Toronto** (2014)