Kui Wu
Profile Url: 30a73432
ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D 2017), 2017
<img src="http://people.csail.mit.edu/kuiwu/RTFR/rtfr.png" width="800" height="320" border="0" style="border: 0px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; width: 100%;"><span style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"></span><p style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"></p><h3 style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.1; color: rgb(51, 51, 51); margin-top: 20px; margin-bottom: 10px; font-size: 24px; text-align: center;">Abstract</h3><p align="left" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;">Modeling cloth with fiber-level geometry can produce highly realistic details. However, rendering fiber-level cloth models not only has a high memory cost but it also has a high computation cost even for offline rendering applications. In this paper we present a real-time fiber-level cloth rendering method for current GPUs. Our method procedurally generates fiber-level geometric details on-the-fly using yarn-level control points for minimizing the data transfer to the GPU. We also reduce the rasterization operations by collectively representing the fibers near the center of each ply that form the yarn structure. Moreover, we employ a level-of-detail strategy to minimize or completely eliminate the generation of fiber-level geometry that would have little or no impact on the final rendered image. Furthermore, we introduce a simple yarn-level ambient occlusion approximation and self-shadow computation method that allows lighting with self-shadows using relatively low-resolution shadow maps. We demonstrate the effectiveness of our approach by comparing our simplified fiber geometry to procedurally generated references and display knitwear containing more than a hundred million individual fiber curves at real-time frame rates with shadows and ambient occlusion.</p><img src="http://people.csail.mit.edu/kuiwu/RTFR/fiber_combine.png" height="320" border="0" style="border: 0px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"><span style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"></span><p align="left" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;">An example yarn model with our core fibers and regular fibers, and the comparison of our full model to a reference model generated offline</p><p style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"></p><img src="http://people.csail.mit.edu/kuiwu/RTFR/shadow_component.png" width="800" height="320" border="0" style="border: 0px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"><span style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"></span><p align="left" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif;">Shadow components: A glove model showing the three shadow components: shadow map, self-shadows, and ambient occlusion</p> <p class="body-1"></p>
ACM SIGGRAPH Symposium on Interactive 3D Graphics and Games (I3D 2016), 2016
<img src="http://cemyuksel.com/research/hairmeshsim/longhair1.jpg" class="img2" style="display: inline-block; width: 50%; text-align: center; vertical-align: top; max-width: 100%; color: rgb(68, 68, 68); font-family: "Palatino Linotype"; font-size: 17.6px;"><img src="http://cemyuksel.com/research/hairmeshsim/longhair2.jpg" class="img2" style="display: inline-block; width: 50%; text-align: center; vertical-align: top; max-width: 100%; color: rgb(68, 68, 68); font-family: "Palatino Linotype"; font-size: 17.6px;"><span style="color: rgb(68, 68, 68); font-family: "Palatino Linotype"; font-size: 17.6px;"></span><p style="text-align: justify; margin: 0px 0px 1em; color: rgb(68, 68, 68); font-family: "Palatino Linotype"; font-size: 17.6px;">Examples frames from a real-time hair mesh simulation.</p><h2 style="font-family: "Segoe Condensed"; break-after: avoid; clear: both; font-weight: bold; font-size: 31.68px; margin-top: 0.7em; margin-bottom: 0.2em; border-bottom: 1px solid rgb(51, 51, 51);">Abstract</h2><p style="text-align: justify; margin: 0px 0px 1em; color: rgb(68, 68, 68); font-family: "Palatino Linotype"; font-size: 17.6px;">We present a robust real-time hair simulation method using hair meshes. Leveraging existing simulation models for sheet-based cloth, we introduce a volumetric force model for incorporating hair interactions inside the hair mesh volume. We also introduce a position correction method that minimizes the local deformation of the hair mesh due to collision handling. We demonstrate the robustness of our hair simulation method using large time steps with fast motion, and we show that our method can recover the initial hair shape even when the hair mesh goes through substantial deformation.</p><p style="text-align: justify; margin: 0px 0px 1em; color: rgb(68, 68, 68); font-family: "Palatino Linotype"; font-size: 17.6px;"><b style="color: rgb(153, 41, 61);">The hair meshes method has been protected with US and Internal patents.</b> The reason why I filed a patent application was to protect my investment on <a href="http://www.hair-farm.com/" style="text-decoration: none; font-weight: bold; color: rgb(131, 43, 61);">Hair Farm</a>. If you would like to use hair meshes for research purposes, please contact me to avoid possible patent infringement.</p> <p class="body-1"></p>
ACM Transactions on Graphics, January 2019
<img src="http://people.csail.mit.edu/kuiwu/knittable/pipeline.png" width="800" border="0" style="border: 0px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"><span style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"></span><p align="left " style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255); font-size: 12px;"><span style="font-weight: 700;">Stages of our knittable garment modeling system:</span> (a) We begin our interactive modeling process with an input polygonal mesh that specifies the global shape of the model. (b) Using this polygonal mesh we produce a high-resolution stitch mesh, including shift-paths (green faces) that form knittable spiral structures, splitting (yellow faces) and joining (blue faces) mismatched faces that connect them without seams, and short-rows (red faces). Afterwards, we can either (c) generate the yarn curves from the stitch mesh and use a physically-based relaxation process to produce the final yarn-level shape for rendering, or (d) knit the model using the knitting instructions generated from our knittable stitch mesh.</p><h3 style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.1; color: rgb(51, 51, 51); margin-top: 20px; margin-bottom: 10px; font-size: 24px; text-align: center; background-color: rgb(255, 255, 255);">Abstract</h3><p align="left" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255);">We introduce knittable stitch meshes for modeling complex 3D knit structures that can be fabricated via knitting. We extend the concept of stitch mesh modeling, which provides a powerful 3D design interface for knit structures but lacks the ability to produce actually knittable models. Knittable stitch meshes ensure that the final model can be knitted. Moreover, they include novel representations for handling important shaping techniques that allow modeling more complex knit structures than prior methods. In particular, we introduce shift-paths that connect the yarn for neighboring rows, general solutions for properly connecting pieces of knit fabric with mismatched knitting directions without introducing seams, and a new structure for representing short rows, a shaping technique for knitting that is crucial for creating various 3D forms, within the stitch mesh modeling framework. Our new 3D modeling interface allows for designing knittable structures with complex surface shapes and topologies, and our knittable stitch mesh structure contains all information needed for fabricating these shapes via knitting. Furthermore, we present a scheduling algorithm for providing stepby-step hand knitting instructions to a knitter, so that anyone who knows how to knit can reproduce the complex models that can be designed using our approach. We show a variety of 3D knit shapes and garment examples designed and knitted using our system.</p><p align="left" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255);"><br class="Apple-interchange-newline"><br style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"><img src="http://people.csail.mit.edu/kuiwu/knittable/3teapot_with_mesh.jpg" width="800" border="0" style="border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"><span style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"></span></p><p align="center" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255); font-size: 12px;">Knitted teapots with different numbers of stitches using different knittable stitch meshes. They are all knitted using 6 separate yarn pieces and they contain 6.3K, 4.4K, and 2.6K stitches from left to right.</p><p align="left" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255);"><br style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"><img src="http://people.csail.mit.edu/kuiwu/knittable/graphics_models.jpg" width="800" border="0" style="border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"><span style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"> </span><img src="http://people.csail.mit.edu/kuiwu/knittable/graphics_knitted.jpg" width="800" border="0" style="border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"><span style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"> </span><img src="http://people.csail.mit.edu/kuiwu/knittable/graphics_simulated.jpg" width="800" border="0" style="border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"><span style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"></span></p><p align="center" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255); font-size: 12px;">Example letters: knittable stitch mesh models, knitted models, and simulated models</p><p align="left" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255);"><br style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"><img src="http://people.csail.mit.edu/kuiwu/knittable/knitting_interface.jpg" width="600" border="0" style="border: 0px; font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"><span style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center;"></span></p><p width="600" align="left" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255); font-size: 12px;"><span style="font-weight: 700;">Our knitting interface:</span> On the top-right corner the knitting instruction code is displayed along with how many times the instruction should be repeated. Below the instruction code a short video-clip show how to perform the instruction. At the bottom-right side the entire model is displayed, along with the previously knitted part shaded in green and the stitches that correspond to the current instructions shaded in red. The main view provides a yarn-level rendering of the part of the model that is previously knit and the part that is currently being knit.</p> <p class="body-1"></p>
<div style="color: rgb(17, 17, 17); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(253, 253, 253); text-align: center;"><img src="https://textiles-lab.github.io/publications/2019-visualknit/teaser.png" alt="knitting the Stanford bunny=" style="max-width: 100%; width: 100%;"></div><div style="color: rgb(17, 17, 17); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(253, 253, 253); text-align: center;"><br></div><h1 id="abstract" style="margin-bottom: 15px; color: rgb(17, 17, 17); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(253, 253, 253);"><br></h1><h1 id="abstract" style="margin-bottom: 15px; color: rgb(17, 17, 17); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(253, 253, 253);">Abstract</h1><p style="margin: 0px 0px 15px; color: rgb(17, 17, 17); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(253, 253, 253);">Industrial knitting machines are commonly used to manufacture complicated shapes from yarns; however, designing patterns for these machines requires extensive training. We present the first general visual programming interface for creating 3D objects with complex surface finishes on industrial knitting machines. At the core of our interface is a new, augmented, version of the stitch mesh data structure. The augmented stitch mesh stores low-level knitting operations per-face and encodes the dependencies between faces using directed edge labels. Our system can generate knittable augmented stitch meshes from 3D models, allows users to edit these meshes in a way that preserves their knittability, and can schedule the execution order and location of each face for production on a knitting machine. Our system is general, in that its knittability-preserving editing operations are sufficient to transform between any two machine-knittable stitch patterns with the same orientation on the same surface. We demonstrate the power and flexibility of our pipeline by using it to create and knit objects featuring a wide range of patterns and textures, including intarsia and Fair Isle colorwork; knit and purl textures; cable patterns; and laces.</p><div><br></div> <p class="body-1"></p>
ACM Transactions on Graphics (Proceedings of SIGGRAPH Asia 2018), 2018
ACM Transactions on Graphics (Proceedings of SIGGRAPH 2018), 2018
<img src="http://people.csail.mit.edu/kuiwu/stitchmeshing/stitchmeshing.jpg" width="800" height="300" border="0" style="border: 0px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"><span style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"></span><p align="center" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255); font-size: 12px;">Example yarn-level models generated from input 3D surfaces using our fully automatic pipeline.</p><h3 style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.1; color: rgb(51, 51, 51); margin-top: 20px; margin-bottom: 10px; font-size: 24px; text-align: center; background-color: rgb(255, 255, 255);">Abstract</h3><p align="left" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255);">We introduce the first fully automatic pipeline to convert arbitrary 3D shapes into knit models. Our pipeline is based on a global parametrization remeshing pipeline to produce an isotropic quad-dominant mesh aligned with a 2-RoSy field. The knitting directions over the surface are determined using a set of custom topological operations and a two-step global optimization that minimizes the number of irregularities. The resulting mesh is converted into a valid stitch mesh that represents the knit model. The yarn curves are generated from the stitch mesh and the final yarn geometry is computed using a yarn-level relaxation process. Thus, we produce topologically valid models that can be used with a yarn-level simulation. We validate our algorithm by automatically generating knit models from complex 3D shapes and processing over a hundred models with various shapes without any user input or parameter tuning. We also demonstrate applications of our approach for custom knit model generation using fabrication via 3D printing.</p><img src="http://people.csail.mit.edu/kuiwu/stitchmeshing/pipeline.jpg" width="800" height="370" border="0" style="border: 0px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"><span style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"></span><p align="left" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255); font-size: 12px;">The overview of our pipeline: (a) an arbitrary input 3D model is converted into (b) an isotropic quad-dominant mesh with only quads and triangles via remeshing. Then, (c) the edges of the mesh are labeled, and (d) knitting directions over the surface are determined (arrows showing the wale knitting direction on each face). Finally, (e) a stitch mesh is generated and (f) the final yarn-level model is produced from the stitch mesh via relaxation and yarn generation operations.</p><h3 align="left" style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.1; color: rgb(51, 51, 51); margin-top: 20px; margin-bottom: 10px; font-size: 16px; background-color: rgb(255, 255, 255);">[<a href="http://people.csail.mit.edu/kuiwu/stitchmeshing/StitchMeshing.pdf" style="text-decoration: none;"><span style="font-weight: 700;">Paper</span></a>] [<a href="https://youtu.be/FuVPUS4b_5g" style="text-decoration: none;"><span style="font-weight: 700;">Video</span></a>] [<a href="https://github.com/kuiwuchn/stitchMeshing" style="text-decoration: none;"><span style="font-weight: 700;">Code</span></a>] [<a href="http://people.csail.mit.edu/kuiwu/stitchmeshing/stitchmeshing_bib.txt" style="text-decoration: none;"><span style="font-weight: 700;">Citation</span></a>]</h3><br style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"><img src="http://people.csail.mit.edu/kuiwu/stitchmeshing/bunnies_5.jpg" width="800" border="0" style="border: 0px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"><span style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"></span><p align="center" style="margin: 0px 0px 10px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; background-color: rgb(255, 255, 255); font-size: 12px;">Yarn-level knit structures generated from the “bunny” model with three different resolutions: 1.3K, 4K, 7K, 16K, and 48K stitches</p><br style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"><h3 align="left" style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.1; color: rgb(51, 51, 51); margin-top: 20px; margin-bottom: 10px; font-size: 16px; background-color: rgb(255, 255, 255);">More results <a href="http://people.csail.mit.edu/kuiwu/stitchmeshing/horse.jpg" style="text-decoration: none;"><img src="http://people.csail.mit.edu/kuiwu/stitchmeshing/horse.jpg" height="110" border="0" style="border: 0px;"></a> <a href="http://people.csail.mit.edu/kuiwu/stitchmeshing/rockerarm.jpg" style="text-decoration: none;"><img src="http://people.csail.mit.edu/kuiwu/stitchmeshing/rockerarm.jpg" height="110" border="0" style="border: 0px;"></a> <a href="http://people.csail.mit.edu/kuiwu/stitchmeshing/sculpt.jpg" style="text-decoration: none;"><img src="http://people.csail.mit.edu/kuiwu/stitchmeshing/sculpt.jpg" height="110" border="0" style="border: 0px;"></a> <a href="http://people.csail.mit.edu/kuiwu/stitchmeshing/armadillo.jpg" style="text-decoration: none;"><img src="http://people.csail.mit.edu/kuiwu/stitchmeshing/armadillo.jpg" height="110" border="0" style="border: 0px;"></a></h3><br style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"><h3 align="left" style="font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; line-height: 1.1; color: rgb(51, 51, 51); margin-top: 20px; margin-bottom: 10px; font-size: 16px; background-color: rgb(255, 255, 255);">3D prints <a href="http://people.csail.mit.edu/kuiwu/stitchmeshing/octopus.jpg" style="text-decoration: none;"><img src="http://people.csail.mit.edu/kuiwu/stitchmeshing/octopus.jpg" height="150" border="0" style="border: 0px;"></a> <a href="http://people.csail.mit.edu/kuiwu/stitchmeshing/bunny_printed.jpg" style="text-decoration: none;"><img src="http://people.csail.mit.edu/kuiwu/stitchmeshing/bunny_printed.jpg" height="150" border="0" style="border: 0px;"></a></h3><br style="color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"><img src="http://people.csail.mit.edu/kuiwu/stitchmeshing/bunny_sim.gif" height="320" border="0" style="border: 0px; color: rgb(51, 51, 51); font-family: "Helvetica Neue", Helvetica, Arial, sans-serif; font-size: 14px; text-align: center; background-color: rgb(255, 255, 255);"> <p class="body-1"></p>