Hi. I'm Alan Litteneker.

I'm a computer science researcher and software engineer.

My research is mainly focused on developing software tools for virtual cinematography, which aims to make it easier and faster for people with different skill levels to make better videogames, animated films, and interactive experiences.

I'm always looking for opportunities to collaborate on interesting and novel research projects that intersect with my research areas. Feel free to get in touch if you're interested in working with me.

What kind of work do I do?

Computer Science Research

In addition to virtual cinematography and its relations in computer graphics, my research overlaps with a wide variety of CS fields, including computer vision, machine learning, and numerical optimization.

See below for more details on some of my published projects.

Software Engineering

I previously worked as a software engineer for market research company Intellisurvey, where I developed front and back end software for data collection, analytics, reporting, and visualization.

I also regularly do private consulting work, helping clients to identify implementation strategies for challenging computational tasks.


I have taught numerous courses on subjects including filmmaking, computer graphics, and programming languages, at UCLA and elsewhere.

From 2018 to 2021, I served as the head teaching assistant for the UCLA computer science department, supervising the training and instructional development of ~250 TAs.

What have I been working on recently?

Below are some of my recent research projects.

Virtual Cinematography

Developed a number of declarative camera control systems, based on a formulation as a continuous numerical optimization problem, and capable of handling a wide variety of desired cinematographic properties. Integrated with Unreal Engine for both real time and offline cinematic control. [Dissertation pdf]

Cinematography Data Collection

Utilized a combination of computer vision tools to annotate ~1 million frames spanning ~90K shots from ~60 feature films with human subject cinematographic data. Run several subsequent experiments to attempt to utilize this data to train a machine learning model capable of aiding in expressivity or controllability of virtual cinematography systems. [Chapter pdf]

Programming Language Tools

Developed several experimental programming languages and accompanying tools, implementing functionality for automatic differentiation, control flow graph analysis, and flow-sensitive interval-based expression range analysis, among others features. [Chapter pdf]

Crowd Simulation

Collaborated to develop scalable crowd simulation tools capable of handling scenes with ~10K independent agents in real time, utilizing a Position Based Dynamics (PBD) formulation. Won best paper award at MiG 2017. [Paper pdf]

Layout Synthesis

Collaborated to develop fast, scalable tools to automatically synthesize furniture layouts for unprecedented numbers of layout objects per scene, utilizing a Position Based Dynamics (PBD) formulation. [Paper pdf]

Ray/Path Tracing

Developed a few ray/path tracers, including an interactive web-based application for scenes with textured geometry, area lights, depth of field, BSP/BVH acceleration, and more. [github]

Want to Get in Touch?

I can be contacted by email at
alan [dot] litteneker [at] gmail [dot] com
or through the (limited) social media links below.