Skip to content
0:00 / 0:00

#racket#typedracket#3dengine

(fourth RacketCon): Neil Toronto — Purely Functional 3D in Typed Racket

Racket

5K subscribers • 11 videos on Hallway

YouTube
  • 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 this

What people say. Recommended as an interesting exploration of building a 3D graphics engine using purely functional paradigms.

michaelsbradleyjron Lobsters • Recommends

Purely Functional 3D in Typed Racket

programming-talkscurated list on GitHubRecommends

Under “Racket”

Purely Functional 3D in Typed Racket 00:22:15 by **Neil Toronto** (2014)