Nicholas Vining

Ph.D Candidate, Department of Computer Science, University of British Columbia
M.Sc (Computer Science), University of Victoria, 2011
B.Sc (Mathematics, Honors), University of Victoria, 2009
e-mail: first letter of first name and entire last name - all one word, all lower case - at cs dot ubc dot ca

Research Interests

I work with Dr. Alla Sheffer and the DGP Research Group at the University of British Columbia, studying geometric mesh processing. I have two major areas of interest: hexahedral mesh construction and optimization, and applications of geometric meshing algorithms to problems in video game development, such as automatic level generation, procedural modeling, and better authoring tools for video game content. I also occasionally run a game company.

I also have dabbled in everything from parallelism research to theoretical computer science, and am also interested in (and have strong opinions on!) how we teach computer science and computer programming. I strongly believe in the benefits of collaborative research, and enjoy learning new techniques, tricks, and styles of research from a variety of collaborators. If you are interested in working on a paper together, or are doing something you think I might be interested in, why not drop me a line?



  • M. Bessmeltsev, N.Vining, A. Sheffer. Gesture3D: Posing 3D Characters via Gesture Drawings. ACM Transactions on Graphics (Proc. SIGGRAPH Asia 2016)
  • A. Bartle, A. Sheffer, V. Kim, D. Kaufman, N. Vining, F. Berthouzoz. Physics-Driven Pattern Adjustment for Direct 3D Garment Editing. ACM Transactions on Graphics (Proc. SIGGRAPH 2016)
  • 2015

  • M. Bessmeltsev, W. Chang, N. Vining, A. Sheffer, K. Singh. Modeling Character Canvases from Cartoon Drawings. ACM Transactions on Graphics 2015, to appear.
  • R. Gillette, C. Peters, N. Vining, E. Edwards, A. Sheffer. Real-time Dynamic Wrinkling of Coarse Animated Cloth. Proc. Symposium on Computer Animation (SCA) , 2015, to appear.
  • M. Livesu, A. Sheffer, N. Vining, M. Tarini. Practical Hex-Mesh Optimization via Edge-Cone Rectification. ACM Transactions on Graphics (Proc. SIGGRAPH), Vol.34, No 4, 2015.
  • P. Hao, Y. Liu, A. Sheffer, N. Vining, C.-J. Li, W. Wang. Flow Aligned Surfacing of Curve Networks. ACM Transactions on Graphics (Proc. SIGGRAPH), Vol.34, No 4, 2015.
  • 2014

  • C. Ma, N. Vining, S. Lefebvre, A. Sheffer. Game Level Layout from Design Specification. Computer Graphics Forum (Proc. Eurographics), Apr., 2014.
  • 2013

  • M. Livesu, N. Vining, A. Sheffer, J. Gregson, R. Scateni. PolyCut: Monotone Graph-Cuts for PolyCube Base-Complex Construction. ACM Trans. on Graphics (Proc. SIGGRAPH Asia), Vol 32, No. 6, 2013.
  • M. Best, N. Vining, D. Jacobsen, A. Fedorova. Collection-Focused Parallelism. 5th USENIX Workshop on Hot Topics in Parallelism (HotPAR), 2013.
  • 2010

  • M. Cheng, E. Delisle, A. Erickson, S. Ganti, F. Mason, N. Vining, S. Whitesides. Collaborative problem solving: integrating theory and practice in the classroom. Proc. 15th West Canadian Conference on Computing Education, 2010.
  • Invited Talks, Interviews, Game Development Miscellanea

  • Congratulations, You Have Died! Humorous Writing and Dungeons of Dredmor. Casual Connect Seattle, 2012.
  • Gaslamp Games on its Indie Roguelike Dungeons of Dredmor. Game Career Guide, 2011.
  • The Threads That Bind Us. Game Developer Magazine, 2010.
  • The OpenGL 3.2 Specification, where I am listed as a contributor due to my involvement writing several OpenGL extensions.
  • Video Games I've Worked On

  • Clockwork Empires (2014 - ongoing): Technical Director and Lead Programmer
  • Dungeons of Dredmor: Conquest of the Wizard Lands (2012): Technical Director
  • Dungeons of Dredmor: You Have To Name The Expansion Pack (2012): Technical Director
  • Dungeons of Dredmor: Realm of the Diggle Gods (2011): Technical Director
  • Dungeons of Dredmor (2011): Technical Director and Lead Programmer
  • Unreal Tournament 3 (2008): Abortive OS X and Linux Port, OpenGL Renderer (which I believe was incorporated into the iOS tree powering Infinity Blade, amongst other things)
  • Various Derek Smart Gigs: Programming, Additional Programming, General Grease Monkey
  • Die Hard: Nakatomi Plaza (2001): Programmer. Penny Arcade had some choice words about our game and the engine which was forced on us.
  • Things

    You can try out the hex mesh optimization tool from our SIGGRAPH 2015 work online! It was written in Google Go, which was pretty spiffy.
    If you are looking for my video game development company, you probably want to be at this other website which is much more interesting.
    I have been putting small, useful single-header libraries here. So far I have only written one, but I am hoping to put more up later.

    Useful Libraries

  • Sean Barrett's STB libraries.
  • Clipper, an open source 2D polygon clipping library.
  • Friends don't let Friends use GLUT. You may also get some use out of SDL, which is a little more designed for games.