our primary interest is in visualizing, summarizing, and studying workflows, but we also investigate
- interactive graphics with webgl and opengl
- human-computer interaction
- web development
- image generation with rasterization, raytracing, and pathtracing
- game engine and game design
for future ideas, see research ideas page (requires login).
below is a short list of some of the excellent people we have collaborated with over the past few years. none of my work would have been possible without their help.
presented at siggraph 2015.
Mesh editing software is improving, allowing skilled artists to create detailed meshes efficiently. For a variety of reasons, artists are interested in sharing not just their final mesh but also their whole workflow, though the common media for sharing has limitations. In this paper, we present 3DFlow, an algorithm that computes continuous summarizations of mesh editing workflows. 3DFlow takes as input a sequence of meshes and outputs a visualization of the workflow summarized at any level of detail. The output is enhanced by highlighting edited regions and, if provided, overlaying visual annotations to indicated the artist's work, e.g. summarizing brush strokes in sculpting. We tested 3DFlow with a large set of inputs using a variety of mesh editing techniques, from digital sculpting to low-poly modeling, and found 3DFlow performed well for all. Furthermore, 3DFlow is independent of the modeling software used because it requires only mesh snapshots, and uses the additional information only for optional overlays. We release 3DFlow as open source for artists to showcase their work and release all our datasets so other researchers can improve upon our work.
meshgit: diffing and merging meshes for polygonal modeling
acm transactions on graphics (siggraph),
vol. 32, no. 4, article 35, jul 2013.
presented at siggraph 2013.
This paper presents MeshGit, a practical algorithm for diffing and merging polygonal meshes typically used in subdivision modeling workflows. Inspired by version control for text editing, we introduce the mesh edit distance as a measure of the dissimilarity between meshes. This distance is defined as the minimum cost of matching the vertices and faces of one mesh to those of another. We propose an iterative greedy algorithm to approximate the mesh edit distance, which scales well with model complexity, providing a practical solution to our problem. We translate the mesh correspondence into a set of mesh editing operations that transforms the first mesh into the second. The editing operations can be displayed directly to provide a meaningful visual difference between meshes. For merging, we compute the difference between two versions and their common ancestor, as sets of editing operations. We robustly detect conflicting operations, automatically apply non-conflicting edits, and allow the user to choose how to merge the conflicting edits. We evaluate MeshGit by diffing and merging a variety of meshes and find it to work well for all.
presented at siggraph asia 2011.
We propose a method for retargeting measured materials, where a source measured material is edited by applying the reﬂectance functions of a template measured dataset. The resulting dataset is a material that maintains the spatial patterns of the source dataset, while exhibiting the reﬂectance behaviors of the template. Compared to editing materials by subsequent selections and modiﬁcations, retargeting shortens the time required to achieve a desired look by directly using template data, just as color transfer does for editing images. With our method, users have to just mark corresponding regions of source and template with rough strokes, with no need for further input. This paper introduces AppWarp, an algorithm that achieves retargeting as a user-constrained, appearance-space warping operation, that executes in tens of seconds. Our algorithm is independent of the measured material representation and supports retargeting of analytic and tabulated BRDFs as well as BSSRDFs. In addition, our method makes no assumption of the data distribution in appearance-space nor on the underlying correspondence between source and target. These characteristics make AppWarp the ﬁrst general formulation for appearance retargeting. We validate our method on several types of materials, including leaves, metals, waxes, woods and greeting cards. Furthermore, we demonstrate how retargeting can be used to enhance diffuse texture with high quality reflectance.
presented at siggraph 2011.
The construction of polygonal meshes remains a complex task in Computer Graphics, taking tens of thousands of individual operations over several hours of modeling time. The complexity of modeling in terms of number of operations and time makes it difficult for artists to understand all details of how meshes are constructed. We present MeshFlow, an interactive system for visualizing mesh construction sequences. MeshFlow hierarchically clusters mesh editing operations to provide viewers with an overview of the model construction while still allowing them to view more details on demand. We base our clustering on an analysis of the frequency of repeated operations and implement it using substituting regular expressions. By filtering operations based on either their type or which vertices they affect, MeshFlow also ensures that viewers can interactively focus on the relevant parts of the modeling process. Automatically generated graphical annotations visualize the clustered operations. We have tested MeshFlow by visualizing five mesh sequences each taking a few hours to model, and we found it to work well for all. We have also evaluated MeshFlow with a case study using modeling students. We conclude that our system provides useful visualizations that are found to be more helpful than video or document-form instructions in understanding mesh construction.
In computer cinematography, artists routinely use non-physical lighting models to achieve desired appearances. This paper presents BendyLights, a non-physical lighting model where light travels nonlinearly along splines, allowing artists to control light direction and shadow position at different points in the scene independently. Since the light deformation is smoothly defined at all world-space positions, the resulting non-physical lighting effects remain spatially consistent, avoiding the frequent incongruences of many non-physical models. BendyLights are controlled simply by reshaping splines, using familiar interfaces, and require very few parameters. BendyLight control points can be keyframed to support animated lighting effects. We demonstrate BendyLights both in a real-time rendering system for editing and a production renderer for final rendering, where we show that BendyLights can also be used with global illumination.
rptextures: systematic layering for large texture generation
no. 10, 2017.
We use systematic layering of variously sized layers to quickly create large, seemingly non-repeating textures. This leads to significantly more control for artists to create expansive visual scenes without the need for large teams to create massive textures. Our method maintains the visual appeal of seamless and non-repeating design, while using little memory and rendering quickly.
maths and algs
the maths and algorithms behind photo-realistic graphics
frank s. brenneman lecture series, tabor college, ks
2015 april 24, invited talk
Rendering systems today are able to produce images that are indistinguishable from actual photographs. In this talk, I will present the good, the bad, and the weird parts of the math and algorithms behind photo-realistic graphics.
monte carlo rendering
using monte carlo integration to solve the rendering equation
frank s. brenneman lecture series, tabor college, ks
2015 april 24, invited talk
Continuing on from the previous talk (the maths and algorithms behind photo-realistic graphics), I will present the Monte Carlo integration method, the method behind solving the rendering equation.
blender conf 2014
mesh(flow|git): understanding and managing mesh editing workflows
blender conference 2014, amsterdam, link
2014 october 26
Mesh editing videos and tutorials are essential for learning, but are either too short for details or too long to stay interesting. Further, comparing final meshes requires manual search and find. I present my Ph.D. dissertation work on understanding mesh editing workflows and some preliminary but ongoing work.
developing and designing powerful modeling tools
blender conference 2014, amsterdam, link
co-presented with jonathan williamson
2014 october 24
This talk will explore the aspects of designing, developing, and implementing modeling tools such as the Contours and Polystrips retopology add-ons. Along side sharing our experiences, this will open many points for discussion on how we can further improve Blender’s core modeling tools and the Blender python API to allow more powerful add-ons and easier development.
taylor sci seminar 2014
open-source mindset and science
science seminar, taylor university
2014 october 20, invited talk
Large amounts of data are involved in studying how 3D artists create their work, and the gathering of this data can be challenging. In this talk, I present my observation of differences in "closed-source" and "open-source" 3D artist communities.
kernel nystrom method for light transport
jiaping wang, yue dong, xin tong, zhouchen lin, baining guo
a technical papers presentation by jon denning
dartmouth college, 2011
modflows: methods for studying and managing mesh editing workflows
dartmouth college, 2014.
At the heart of computer games and computer generated films lies 3D content creation. A student wanting to learn how to create and edit 3D meshes can quickly find thousands of videos explaining the workflow process. These videos are a popular medium due to a simple setup that minimally interrupts the artist's workflow, but video recordings can be quite challenging to watch. Typical mesh editing sessions involve several hours of work and thousands of operations, which means the video recording can be too long to stay interesting if played back at real-time speed or lose too much information when sped up. Moreover, regardless of the playback speed, a high-level overview is quite difficult to construct from long editing sessions. In this thesis, we present our research into methods for studying how artists create and edit polygonal models and for helping manage collaborative work. We start by describing two approaches to automatically summarizing long editing workflows to provide a high-level overview as well as details on demand. The summarized results are presented in an interactive viewer with many features, including overlaying visual annotations to indicate the artist's actions, coloring regions to indicate strength of change, and filtering the workflow to specific 3D regions of interest. We evaluate the robustness of our two approaches by testing against a variety of workflows, holding a small case study, and asking artists for feedback. Next we describe a way to construct a plausible and intuitive low-level workflow that turns one of two given meshes into the second by building mesh correspondences. Analogous to text version control tools, we visualize the mesh changes in a two-way, three-way, or sequence diff, and we demonstrate how to merge independent edits of a single original mesh, handling conflicts in a way that preserves the artists' original intentions. We then discuss methods of comparing multiple artists performing similar mesh editing tasks. We build intra- and inter-correspondences, compute pairwise edit distances, and then visualize the distances as a heat map or by embedding into 3D space. We evaluate our methods by asking a professional artist and instructor for feedback. Finally, we discuss possible future directions for this research.
can video game players create a balanced game through voting? f17–s18
understanding student programming workflows s18
expressiveness of novel texture mapping techniques s17
exploring expressiveness of tiled texture mapping s17
accelerated, efficient, and artist-friendly rendering of boolean scenes in glsl 2016
using neural networks to optimize filters for noisy path-traced images f16–s17
using genetic algorithms to improve robocup virtual soccer players su15
generating, simulating, and rendering procedurally-generated planetoids su15
exploring novel meta programming language 2015