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 am also currently working for NVIDIA as a Senior Research Scientist, as part of the hyperscale graphics group. My major areas of interest are hexahedral mesh construction and optimization; applications of geometric mesh processing to rendering and cloud graphics; and applications of geometric mesh algorithms to problems in video game development (cloth and garment editing; automatic level generation; procedural content modeling; and better authoring tools for video game content in general.) Prior to joining NVIDIA, I worked for Google as a Sr. Software Engineer on Google's Stadia cloud gaming platform, which brings games to the cloud via streaming, as well as other as-of-yet-unannounced edge computing initiatives.

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?

New! Try our PolyCube based hex mesh generator and optimizer here.



  • D. Pagurek van Mossel, C. Liu, N. Vining, M. Bessmeltsev, A. Sheffer. StrokeStrip: Joint Parameterization and Fitting of Stroke Clusters. ACM Transactions on Graphics (Proc. SIGGRAPH 2021)
  • 2020

  • J. Yang, C. Araujo, N. Vining, Z. Ferguson, E. Rosales, D. Panozzo, S. Lefevbre, P. Cignoni, A. Sheffer, DHFSlicer: Double Height-Field Slicing for Milling Fixed- Height Materials, ACM Transactions on Graphics (Proc. SIGGRAPH Asia 2020)
  • 2019

  • C. Araujo*, D. Cabiddu*, M. Attene, M. Livesu, N. Vining, A. Sheffer. Surface2Volume: Surface Segmentation Conforming Assemblable Volumetric Partition. ACM Transactions on Graphics (SIGGRAPH 2019, Los Angeles, USA) (* - joint first authors)
  • D. Rebain, B. Angles, J. Vlanentin, J. Peethambaran, S. Izadi, N. Vining, A. Tagliasacchi. LSMAT: Least Squares Medial Axis Transform. Computer Graphics Forum, to appear.
  • 2018

  • M. Limper, N. Vining, A. Sheffer, Box Cutter: Atlas Refinement for Efficient Packing via Void Elimination, ACM Transactions on Graphics (Proc SIGGRAPH), 2018.
  • M. Li, A. Sheffer, E. Grinspun, N. Vining. FoldSketch: Enriching Garments with Physically Reproducible Folds, ACM Transactions on Graphics (Proc SIGGRAPH), 2018
  • 2017

  • G. Gori, A. Sheffer, N. Vining, E. Rosales, N. Carr, T. Ju. FlowRep: Descriptive Curve Networks for Freeform Designer Shapes. ACM Transaction on Graphics (Proc. SIGGRAPH 2017)
  • 2016

  • 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

  • Two talks at GDC (2016, 2017) on discrete mesh processing, as part of the Mathematics for Game Developers Tutorial run by Squirrel Eiserloh
  • 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 - 2016): 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

    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.