Jim McCann

(Sometimes known as James L. McCann)
Picture of Jim Picture of Jim
Picture of Jim Picture of Jim
E-Mail: jmccann (at cs dot cmu.edu)
Phone: (412) 400 three one nine nine
CV: pdf format
Address:
Computer Graphics Lab (NSH4228)
Carnegie Mellon University
5000 Forbes Avenue
Pittsburgh, PA 15213

About

I'm a 3rd-year PhD student in the graphics lab advised by Nancy Pollard. I'm interested in systems and interfaces that operate in real-time and build user intuition.

This page is a monolithic presentation of the research software and projects I'm associated with. If you are interested in my personal life, games, or terse ramblings, please visit my web server at tchow.com.

Research

NOTE: Nancy Pollard, being my adviser, should be considered an implicit collaborator on all of the following projects.

Positive Ambiguity, Fast Feedback, and Storytelling (2008-?)

The power of non-photorealistic presentations of data lies in the abstraction of excess detail and clutter. The trouble with computers is that to abstract away the detail, they first have to know it. As such, most sketch-guided programs focus on creating extra detail by making assumptions about what the user's actions mean.

In this project, just beginning, I'm going to be trying to get away from such assumptions by designing representations which explicitly preserve the ambiguity of user inputs, and only resolve (or ask the user for) as much detail as is necessary for the task at hand.

Real-time Gradient-domain Painting (2007)

gradient illustration

I've designed a system to allow for brush-based gradient-domain editing with real-time feedback. This gives you a real gradient-domain clone brush and -- more interestingly -- lets you do gradient-domain sketches (like the teaser image to the right).

This work will appear as a paper at SIGGRAPH 2008. The paper and video are available on the Project Page.

Transition Evaluation (2006-2007)

With Lei Li, Christos Faloutsos
stitchings

In this project, we investigated what makes a pleasing transition between motion capture clips. We arrived at a dynamics-based approach which works by effort minimization that not only gives any potential stitching a score, but also is able to both pick both a transition path and duration.

The results of this work appeared as a Eurographics 2008 short paper Laziness is a virtue: Motion stitching with effort minimization, which I presented.

Compiling for Graphics (2007)

With Tom Cauchois, Ronit Slyper
high detailmed-high detail
med-low detaillow detail

In this compilers class project, we investigated the potential for compiler-based level-of-detail in shaders. Our final compiler can load and parse ARB_fragment_program and ARB_vertex_program shaders into a graph-based intermediate representation, and then intelligently select per-fragment operations to hoist into the vertex shader using estimates of final visual error caused by result interpolation.

This approach should allows a single shader source to be used over many different graphics cards, as it can be dynamically degraded as performance decreases.

We think this is an interesting avenue of research, but do not intend extend or publish these results at this time.

Motion Database Visualization (2007)

With Ronit Slyper
simple layout

In this project, we investigated methods of visualizing large data sets (like the cmu mocap database and the millions of images other lab members have crawled from flickr). We created software to automatically extract a real-time zoomable map of the data, useful for exploration and intuition-building.

We presented a preliminary poster at SCA 2007; however, these results have not yet been published further, due to other projects taking much of our time.

Motion Graphs (2006-2007)

controlled character

I investigated approaches to make motion graphs with more immediate control, as would be useful in a game environment. I settled on reinforcement learning (specifically value iteration) as the key method.

This work appeared at SIGGRAPH 2007 as Responsive characters from motion fragments. The final pdf and video are available on the project page.

Retiming (2005-2006)

With Siddhartha S. Srinivasa
retiming graph

I investigated changing the timing of motion capture data using optimization of a physically-based objective function.

This work appeared as Physics-based motion retiming at SCA 2006. The final paper is available here. Some associated video material is available here.

Additionally, I've made the messy source code available. (It's messy because I used C++ tricks to calculate inverse dynamics parametrically -- never underestimate the power of operator overloading!)

Software

ASF/AMC Viewer

amc viewer

As part of my doings, I've had to work extensively with motion capture data in ASF/AMC format (from the mocap database, in fact).

This is a release of the source code I use to read the files, wrapped up in a demo program which allows viewing. The program uses SDL+OpenGL for output.

Teaching

Computational Photography (Fall07)

I was the TA for Computational Photography in fall 07. The students in this class did some great final projects, so -- as you've pretty much run out of my page at this point -- why not head over there and check them out?

Animation Art And Technology (Spring06)

I was the TA for AA&T in spring 2006.

Notes on setting up the linux computers for good maya menus availible here: on the course web page

Additional info about setting up the gnome window manager here

A simple example shader (draws hexagons) here.

Valid XHTML 1.0 Strict Valid CSS!