Video

***********************************************
********** Introduction Video: ****************
***********************************************
Video Download link

Result

***********************************************
********** Result: Spiderman ******************
***********************************************

Video Download link



***********************************************
********** Result: bunny **********************
***********************************************

Video Download link



***********************************************
********** Result: Zebra **********************
***********************************************

Video Download link



***********************************************
********** Result: Kofu Tiger *****************
***********************************************

Video Download link



***********************************************
********** Result: Cloth Simulation ***********
***********************************************

Video Download link

Cloth Simulation



***********************************************
****************** Loop's *********************
***********************************************

Bunny


Video Download link

Sonic


Video Download link

Tigress


Video Download link

Tiger


Video Download link



Timing and Memory Statistics

Int.(ms)Imp.(ms)Remesh(ms)Tex.(ms)Emb.(ms)
Spider31500.30222300.140.02
Spider(S)7550.2524833.620.01
Bunny12680.71272610.140.03
Jacket1920.4510530.150.01
Lego760.4626700.110.01
Cloth139840.991177610.130.07
Zebra79640.48878310.100.04
Tigress44640.45442680.160.02

● This shows the timing statistics when using our algorithm for Spiderman, Spiderman using stroking paths, Stanford bunny, Sonic of Jacket, Lego, Tiger Cloth, Zebra, and Tigress. Int. denotes the stage of path intersection and segment, Imp. denotes the stage of path implicitization, Remesh denotes the stage of constrained retriangulation, Tex. denotes the stage of coloring texture construction, and Emb. denotes the stage of embedding coloring information.

Org.OursLoop'sResolutionMem.(MB)
Spider25843323638774820 X 820(2.10,2.02)
Spider(S)2584788413328320 X 320(0.39,0.39)
Bunny69630886671621953340 X 340 X 3(2.99,2.99)
Jacket2168995119188350 X 250(0.34,0.33)
Lego190342985398130160 X 160 X 2(0.69,0.68)
Cloth1751182164553763921790 X 790(6.85,6.85)
Zebra4031089861207695926 X 926(3.54,3.53)
Tigress56883478198018724 X 724(1.73,1.73)

● This shows the memory usage statistics for both vector-based embedment and raster texturing for Spiderman, Spiderman using stroking paths, Stanford bunny, Sonic of Jacket, Lego, Tiger Cloth, Zebra, and Tigress. Org. is the number of triangles in the original mesh, Ours is the number of triangles in the retriangulated mesh using our algorithm, Loop's is the number of triangles in the retriangulated mesh using Loop's method, Resolution is the resolution of the corresponding rasterization texture, and Mem. is the memory usage for the raster texturing and our embedded shading techniques. For raster texturing, the required memory usage contains the texture images and original mesh including vertex positions, normals, and texture coordinates, and face indices. For our shading, the required memory usage contains the retriagulated mesh, embedded coloring and stroking information, and coloring texture in GPU for the model.

Fragment(ms)Geometry(ms)Normal(FPS)Zoom In(FPS)Zoom Out(FPS)
OursLoop'sOursLoop'sOursLoop's
Spider1.40448998448756308
Spider(S)1.057.715156671922378
Bunny4.741491973717437
Jacket1.20.722356522449687
Lego0.75010133442119888
Cloth0.759.85693467311
Zebra0.7503716910947794204
Tigress0.75030735701246983

● This shows the timing statistics for Spiderman, Spiderman using stroking paths, Stanford bunny, Sonic of Jacket, Lego, Tiger Cloth, Zebra, and Tigress. Fragment is the timing in (ms) required to shade a texturing object with the coloring pixel shader, Geomtry is the timing in (ms) required to shade a texturing object with the stroking geometry shader, Normal is the overall frame rate for shading an object when viewing it fully, Zoom In is the overall frame rate for shading an object when zooming in to view parts of the model, and Zoom Out is the overall frame rate for shading an object when zooming out to have the model occupy half of the window. Ours is the frame rate for shading with our algorithm and Loop's is the frame rate for shading with our implemented Loop's algorithm with antialiasing. Please notice the frame rate is measured when turning off the GPU antialiasing function.

Compare to Nehab2008

Plane(Nehab's)Plane(Ours)
NormalZoomMem.(MB)NormalZoomMem.(MB)
Butterfly35189716813
Dancer65176866911
Skater52188877012
Lion56188736611
Tiger451810674719

● This shows the timing statistics in FPS when comparing our algorithm with Nehab's algorithm using the data set and code posted in their paper. All data is collected in the resolution of 1920x1080 with the GPU antialiasing function turning on. Normal and Zoom are the view of having the entire object fitting inside the screen and zooming view of the details. Plane denotes texturing a plane and Cylinder denotes texturing a cylinder. Ours denotes the use of our algorithm and Nehab's denote the use of the one proposed by Nehab. Antialiasing can largely reduce the frame rate. For example, shading the Butterfly plane with Nehab's algorithm on plane has a frame rate of 250/35 without/with antialiasing.

Compare to Loop2005

SpiderMan



oriTris.reTris.Ce.(Mem)It.(Mem)Memory(MB)
Layer125844728424(0.06)12912(1.08)1.14
Layer22584314626608(0.87)24854(2.09)2.96
Layer3258425840(0.00)7752(0.65)0.65
Total387747032(0.93)45518(3.82)4.75

● This shows the comparison with our algorithm and the method of Loop's for Spiderman.
oriTris. denotes the number of triangles of original mesh, reTris. denotes the number of triangles of the retriangulated mesh, Ce. denotes the number of curve embedded triangles of the retriangulated mesh, It. denotes the number of interior triangles of the retriangulated mesh, and Memory denotes the memory usage each layer.

Bunny



oriTris.reTris.Ce.(Mem)It.(Mem)Memory(MB)
Layer16963070457140(0.02)70317(5.91)5.93
Layer26963070606142(0.02)70464(5.92)5.94
Layer36963070725257(0.03)70468(5.92)5.95
Layer46963070278116(0.02)70162(5.89)5.91
Layer56963070237139(0.02)70098(5.89)5.91
Layer66963070859241(0.03)70618(5.93)5.96
Layer7696306993686(0.01)69850(5.87)5.88
Layer86963070082123(0.02)69959(5.88)5.90
Layer96963073018721(0.10)72297(6.07)6.17
Layer106963071058314(0.04)70744(5.94)5.98
Layer116963071591413(0.05)71178(5.98)6.03
Layer12696307008441(0.01)70043(5.88)5.89
Layer136963072872832(0.11)72040(6.05)6.16
Layer14696306970214(0.00)69688(5.85)5.85
Layer15696306973618(0.00)69718(5.86)5.86
Layer16696306986764(0.01)69803(5.86)5.87
Layer17696307008395(0.01)69988(5.88)5.89
Layer18696306986151(0.01)69810(5.86)5.87
Layer19696307017246(0.01)70126(5.89)5.90
Layer20696307002292(0.01)69930(5.87)5.88
Layer21696306996228(0.00)69934(5.87)5.87
Layer226963070766132(0.02)70634(5.93)5.95
Layer236963069979115(0.02)69864(5.87)5.89
Total16219534220(0.56)1617733(135)136

● This shows the comparison with our algorithm and the method of Loop's for Stanford bunny.
oriTris. denotes the number of triangles of original mesh, reTris. denotes the number of triangles of the retriangulated mesh, Ce. denotes the number of curve embedded triangles of the retriangulated mesh, It. denotes the number of interior triangles of the retriangulated mesh, and Memory denotes the memory usage each layer.

Sonic



oriTris.reTris.Ce.(Mem)It.(Mem)Memory(MB)
Layer12168239050(0.01)2340(0.19)0.20
Layer221682978187(0.02)2791(0.24)0.26
Layer321683302260(0.03)3042(0.26)0.29
Layer421682725142(0.02)2583(0.22)0.24
Layer521683058235(0.03)2823(0.24)0.27
Layer62168243363(0.01)2370(0.20)0.21
Layer72168230231(0.00)2271(0.19)0.19
Total19188968(0.13)18220(1.53)1.66

● This shows the comparison with our algorithm and the method of Loop's for Sonic of Jacket.
oriTris. denotes the number of triangles of original mesh, reTris. denotes the number of triangles of the retriangulated mesh, Ce. denotes the number of curve embedded triangles of the retriangulated mesh, It. denotes the number of interior triangles of the retriangulated mesh, and Memory denotes the memory usage each layer.

Lego



oriTris.reTris.Ce.(Mem)It.(Mem)Memory(MB)
Layer119034190340(0.00)19034(1.60)1.60
Layer21903420240256(0.03)19984(1.68)1.71
Layer31903419538112(0.02)19426(1.63)1.65
Layer4190341910624(0.00)19082(1.60)1.60
Layer51903420212239(0.03)19973(1.68)1.71
Total98130631(0.08)97499(8.19)8.27

● This shows the comparison with our algorithm and the method of Loop's for Lego.
oriTris. denotes the number of triangles of original mesh, reTris. denotes the number of triangles of the retriangulated mesh, Ce. denotes the number of curve embedded triangles of the retriangulated mesh, It. denotes the number of interior triangles of the retriangulated mesh, and Memory denotes the memory usage each layer.

Tiger Cloth



oriTris.reTris.Ce.(Mem)It.(Mem)Memory(MB)
Layer1175118179042554(0.07)178488(15.0)15.1
Layer2175118176343129(0.02)176214(14.8)14.8
Layer3175118176818199(0.03)176619(14.8)14.8
Layer4175118176820190(0.03)176630(14.8)14.8
Layer5175118176882195(0.03)176687(14.8)14.8
Layer6175118176852191(0.03)176661(14.8)14.8
Layer7175118176887204(0.03)176683(14.8)14.8
Layer8175118176587140(0.02)176447(14.8)14.8
Layer9175118176481127(0.02)176354(14.8)14.8
Layer10175118176621168(0.02)176453(14.8)14.8
Layer11175118177039201(0.03)176838(14.9)14.9
Layer12175118176485146(0.02)176339(14.8)14.8
Layer13175118176406140(0.02)176266(14.8)14.8
Layer14175118176302109(0.01)176193(14.8)14.8
Layer151751181861552291(0.30)183864(15.4)15.7
Layer161751181814901006(0.13)180484(15.2)15.3
Layer17175118175963114(0.02)175849(14.8)14.8
Layer18175118177044410(0.05)176634(14.8)14.9
Layer1917511817567382(0.01)175591(14.7)14.7
Layer2017511817538830(0.00)175358(14.7)14.7
Layer211751182166436463(0.85)210180(17.7)18.6
Total376392113089(1.73)3750832(315)317

● his shows the comparison with our algorithm and the method of Loop's for Tiger Cloth.
oriTris. denotes the number of triangles of original mesh, reTris. denotes the number of triangles of the retriangulated mesh, Ce. denotes the number of curve embedded triangles of the retriangulated mesh, It. denotes the number of interior triangles of the retriangulated mesh, and Memory denotes the memory usage each layer.

Zebra



oriTris.reTris.Ce.(Mem)It.(Mem)Memory(MB)
Layer140310787383196(0.42)75542(6.35)6.77
Layer240310827373377(0.45)79360(6.67)7.12
Layer34031046220923(0.12)45297(3.80)3.92
Total2076957496(0.99)200199(16.8)17.8

● This shows the comparison with our algorithm and the method of Loop's for Zebra.
oriTris. denotes the number of triangles of original mesh, reTris. denotes the number of triangles of the retriangulated mesh, Ce. denotes the number of curve embedded triangles of the retriangulated mesh, It. denotes the number of interior triangles of the retriangulated mesh, and Memory denotes the memory usage each layer.

Tigress



oriTris.reTris.Ce.(Mem)It.(Mem)Memory(MB)
Layer15688147441936(0.26)12808(1.08)1.34
Layer25688104371086(0.14)9351(0.79)0.93
Layer356888340747(0.10)7593(0.64)0.74
Layer45688153322175(0.29)13157(1.11)1.40
Layer556888170501(0.07)7669(0.64)0.71
Layer65688122761347(0.18)10929(0.92)1.10
Layer756888861546(0.07)8315(0.70)0.77
Layer856887362117(0.02)7245(0.61)0.63
Layer956886520120(0.02)6400(0.54)0.56
Layer105688597644(0.01)5932(0.50)0.51
Total980188619(1.14)89399(7.51)8.65

● This shows the comparison with our algorithm and the method of Loop's for Tigress.
oriTris. denotes the number of triangles of original mesh, reTris. denotes the number of triangles of the retriangulated mesh, Ce. denotes the number of curve embedded triangles of the retriangulated mesh, It. denotes the number of interior triangles of the retriangulated mesh, and Memory denotes the memory usage each layer.