I just received a PhD from UWaterloo School of Computer Science. I was advised by two amazing researchers, Craig S. Kaplan and Paul Asente. My interests are in computer graphics, real-time rendering, non-photorealistic rendering, physical simulations, and graphic design. My PhD research was about developing physical simulations that can tightly pack deformable objects inside a container. We published award-winning papers and I was fortunate to receive Cheriton Scholarship.


Deformation-Driven Element Packing
Reza Adhitya Saputra
UW PhD Thesis [PDF] [PPT] [Videos]
AnimationPak: Packing Elements with Scripted Animations
Reza Adhitya Saputra, Craig S. Kaplan, and Paul Asente.
Graphics Interface 2020
Improved Deformation-Driven Element Packing with RepulsionPak
Reza Adhitya Saputra, Craig S. Kaplan, and Paul Asente.
IEEE Transaction on Visualization and Computer Graphics 2019
RepulsionPak: Deformation-Driven Element Packing with Repulsion Forces
Reza Adhitya Saputra, Craig S. Kaplan, and Paul Asente.
Graphics Interface 2018

☆Best Student Paper Award☆

FLOWPAK: Flow-based Ornamental Element Packing
Reza Adhitya Saputra, Craig S. Kaplan, Paul Asente, and Radomír Měch.
Graphics Interface 2017

☆Best Student Paper Award☆

Mixed-Initiative Approaches to Global Editing in Slideware
Darren Edge, Sumit Gulwani, Natasa Milic-Frayling, Mohammad Raza, Reza Adhitya Saputra,
Chao Wang, and Koji Yatani.
ACM CHI 2015


Computerized Generation of Ornamental Designs by Placing Instances
of Simple Shapes in Accordance With a Direction Guide

US 2018/0322612 A1
Paul Asente, Craig S. Kaplan, Radomír Měch, and Reza Adhitya Saputra
Selecting and Editing Visual Elements With Attribute Groups
US 2016/0189404 A1
Darren K. Edge, Koji Yatani, Reza Adhitya Saputra, and Chao Wang.


Augmented Reality Game
AR game using markers and a webcam.
(C#, Goblin XNA)
Kinect Skydiving
Skydiving game controlled using Kinect.
(C++, Kinect SDK, Ogre3D)
Physics Engine Demo
Demo using Bullet Physics.
(C++, Ogre3D, Bullet, Maya)
Kinect Controller
Controlling a 3D character using Kinect.
Collaboration with art students to create a mechanical drawing apparatus.
(Circular saw, CNC machine)
Numerical Methods
ODE, Linear Algebra, Rootfinding, Eigen decomposition, Ax=b solver, and Fourier transform.
GPU Bézier
Loop-Blinn algorithm to draw Bézier curves in UV space.
(Fragment Shader)
Stippling Art
Point distribution algorithm using Voronoi diagrams to simulate the density of an image.
(C++, Qt, OpenGL)
Droste Effect
Recursive image generator.
Islamic Star Pattern
Implementation of Polygons-in-Contact algorithm.
(C++, Qt, OpenGL)
Maze Generator
Tool to create organic-themed mazes.
(C++, Qt, OpenGL)
Other Projects on Youtube

Endurance accomplishments