<%BANNER%>

Accurate Rendering of Curved Higher-Order Surfaces on the GPU

Permanent Link: http://ufdc.ufl.edu/UFE0044032/00001

Material Information

Title: Accurate Rendering of Curved Higher-Order Surfaces on the GPU
Physical Description: 1 online resource (70 p.)
Language: english
Creator: Yeo, Young I
Publisher: University of Florida
Place of Publication: Gainesville, Fla.
Publication Date: 2012

Subjects

Subjects / Keywords: accuracy -- animation -- gpu -- lod -- pixel -- surface -- tessellation
Computer and Information Science and Engineering -- Dissertations, Academic -- UF
Genre: Computer Engineering thesis, Ph.D.
bibliography   ( marcgt )
theses   ( marcgt )
government publication (state, provincial, terriorial, dependent)   ( marcgt )
born-digital   ( sobekcm )
Electronic Thesis or Dissertation

Notes

Abstract: Curved or higher-order surfaces such as a spline patch or a Bezier patch, need to be triangulated for rendering with the current graphics pipeline. A classic challenge is to render such surfaces pixel-accurately, i.e., so that the display has neither polyhedral artifacts nor parametric distortion. The first contribution of this dissertation shows how to set the evaluation density for such a patch just finely enough so that the resulting triangulation yields a pixel-accurate display in the standard graphics pipeline. The approach uses tight estimates, not of the size under screen-projection, but of the variance under screen-projection between the exact surface and its triangulation. The second contribution of this dissertation is to enable real-time skeletal animation of higher-order surfaces using DirectX 11 graphics hardware. The approach is to separate animation, conversion to higher-order surfaces and their evaluation for rendering into pose-dependent, view-dependent and pure rendering passes. This minimizes data transfer to the GPU and avoids unnecessary recomputation. An implementation renders scenes with 140K animated smooth surface patches on a 1440x900 screen with sub-pixel accuracy at more than 300 frames per second. The third contribution is to extend the ACC technique to handle triangles while modeling smooth surfaces. To avoid quadrupling the cost when a few triangles appear in an otherwise quadrilateral mesh, this dissertation exhibits simple rules that generalize those of the popular ACC conversion.
General Note: In the series University of Florida Digital Collections.
General Note: Includes vita.
Bibliography: Includes bibliographical references.
Source of Description: Description based on online resource; title from PDF title page.
Source of Description: This bibliographic record is available under the Creative Commons CC0 public domain dedication. The University of Florida Libraries, as creator of this bibliographic record, has waived all rights to it worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.
Statement of Responsibility: by Young I Yeo.
Thesis: Thesis (Ph.D.)--University of Florida, 2012.
Local: Adviser: Peters, Jorg.
Electronic Access: RESTRICTED TO UF STUDENTS, STAFF, FACULTY, AND ON-CAMPUS USE UNTIL 2012-11-30

Record Information

Source Institution: UFRGP
Rights Management: Applicable rights reserved.
Classification: lcc - LD1780 2012
System ID: UFE0044032:00001

Permanent Link: http://ufdc.ufl.edu/UFE0044032/00001

Material Information

Title: Accurate Rendering of Curved Higher-Order Surfaces on the GPU
Physical Description: 1 online resource (70 p.)
Language: english
Creator: Yeo, Young I
Publisher: University of Florida
Place of Publication: Gainesville, Fla.
Publication Date: 2012

Subjects

Subjects / Keywords: accuracy -- animation -- gpu -- lod -- pixel -- surface -- tessellation
Computer and Information Science and Engineering -- Dissertations, Academic -- UF
Genre: Computer Engineering thesis, Ph.D.
bibliography   ( marcgt )
theses   ( marcgt )
government publication (state, provincial, terriorial, dependent)   ( marcgt )
born-digital   ( sobekcm )
Electronic Thesis or Dissertation

Notes

Abstract: Curved or higher-order surfaces such as a spline patch or a Bezier patch, need to be triangulated for rendering with the current graphics pipeline. A classic challenge is to render such surfaces pixel-accurately, i.e., so that the display has neither polyhedral artifacts nor parametric distortion. The first contribution of this dissertation shows how to set the evaluation density for such a patch just finely enough so that the resulting triangulation yields a pixel-accurate display in the standard graphics pipeline. The approach uses tight estimates, not of the size under screen-projection, but of the variance under screen-projection between the exact surface and its triangulation. The second contribution of this dissertation is to enable real-time skeletal animation of higher-order surfaces using DirectX 11 graphics hardware. The approach is to separate animation, conversion to higher-order surfaces and their evaluation for rendering into pose-dependent, view-dependent and pure rendering passes. This minimizes data transfer to the GPU and avoids unnecessary recomputation. An implementation renders scenes with 140K animated smooth surface patches on a 1440x900 screen with sub-pixel accuracy at more than 300 frames per second. The third contribution is to extend the ACC technique to handle triangles while modeling smooth surfaces. To avoid quadrupling the cost when a few triangles appear in an otherwise quadrilateral mesh, this dissertation exhibits simple rules that generalize those of the popular ACC conversion.
General Note: In the series University of Florida Digital Collections.
General Note: Includes vita.
Bibliography: Includes bibliographical references.
Source of Description: Description based on online resource; title from PDF title page.
Source of Description: This bibliographic record is available under the Creative Commons CC0 public domain dedication. The University of Florida Libraries, as creator of this bibliographic record, has waived all rights to it worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law.
Statement of Responsibility: by Young I Yeo.
Thesis: Thesis (Ph.D.)--University of Florida, 2012.
Local: Adviser: Peters, Jorg.
Electronic Access: RESTRICTED TO UF STUDENTS, STAFF, FACULTY, AND ON-CAMPUS USE UNTIL 2012-11-30

Record Information

Source Institution: UFRGP
Rights Management: Applicable rights reserved.
Classification: lcc - LD1780 2012
System ID: UFE0044032:00001


This item has the following downloads:


Full Text

PAGE 1

ACCURATERENDERINGOFCURVEDHIGHER-ORDERSURFACESONTHEGPU By YOUNGINYEO ADISSERTATIONPRESENTEDTOTHEGRADUATESCHOOL OFTHEUNIVERSITYOFFLORIDAINPARTIALFULFILLMENT OFTHEREQUIREMENTSFORTHEDEGREEOF DOCTOROFPHILOSOPHY UNIVERSITYOFFLORIDA 2012

PAGE 2

c r 2012YoungInYeo 2

PAGE 3

Tomyparentsandfamily 3

PAGE 4

ACKNOWLEDGMENTS Iwouldliketothankmychairadvisor,Dr.J ¨ orgPetersforguidingmethroughallthe researchwithvaluableadvice,supportandpatience.Iamth ankfultomysupervisory committeemembers,Dr.AlperUngor,Dr.AshokKumar,Dr.Jeffr eyHo,andDr.Paul Fishwick,fortheirgoodfeedback.Ialsowouldliketothank myparentsfortheirsupport inmanyways.Mythanksmustgoalsotomylovelydaughters,Yu naandHannah,for givingmejoyandlove.Finally,andmostimportantly,Iwoul dliketothankmywonderful wifeHyunmi.Shewasalwaystherecheeringmeupandstoodbyme throughthegood timesandbad. 4

PAGE 5

TABLEOFCONTENTS page ACKNOWLEDGMENTS ..................................4 LISTOFTABLES ......................................7 LISTOFFIGURES .....................................8 ABSTRACT .........................................10 CHAPTER 1INTRODUCTION ...................................11 1.1Motivation ....................................11 1.2Overview ....................................14 2BACKGROUND ...................................15 2.1BasicMathematicalConcepts .........................15 2.1.1GeometricContinuity ..........................15 2.1.2B ezierCurves ..............................16 2.1.3Tensor-ProductB ezierPatches ....................19 2.2SubdividableLinearEfcientFunctionEnclosures .............20 2.3Basic3DGraphicsConcepts .........................23 2.3.1DirectX11 ................................23 2.3.2ReyesandMicro-polygonization ...................25 3PIXELACCURACY .................................29 3.1CoveringAccuracy ...............................29 3.2ParametricAccuracy ..............................29 3.3Comparisons ..................................30 4EFFICIENTPIXEL-ACCURATERENDERING ...................33 4.1EstimatesEnsuringPixel-Accuracy ......................33 4.1.1BoundingSurfaces ...........................34 4.1.2ReningtheTessellation ........................35 4.1.3PredictingSufcientTessellation ...................36 4.1.4SettingtheTessellationFactor .....................36 4.2Testbed:iPASS .................................37 4.2.1ComputeandShareTessellationFactors ...............38 4.2.2Pixel-AccurateRendering .......................39 4.2.3TheiPASSAlgorithm ..........................39 4.2.4Performance ..............................40 5

PAGE 6

5REAL-TIMESKELETALANIMATIONANDRENDERING ............42 5.1ReviewoftheKeyTechniquesandLiterature ................44 5.1.1SkeletalAnimation: wR ........................44 5.1.2SmoothSurfacesConversion: C ...................45 5.1.3Pixel-AccurateRendering: E .....................46 5.2AlgorithmandImplementation ........................49 5.3Discussion ...................................51 5.4Conclusion ...................................52 6PINCHED-QUADCONVERSION ..........................54 6.1ApproximatingCatmull-ClarkAlgorithm ...................55 6.2Pinched-QuadACC ..............................57 6.3Assessment ...................................58 7CONCLUSION ....................................66 REFERENCES .......................................67 BIOGRAPHICALSKETCH ................................70 6

PAGE 7

LISTOFTABLES Table page 2-1Slefevalues ......................................21 4-1Choiceof m =3 ...................................41 5-1Performancecomparison ..............................52 7

PAGE 8

LISTOFFIGURES Figure page 1-1Comparisonoffacetedandsmooth Proog model .................11 1-2Interactivecomputergraphicsapplications .....................13 2-1B eziercurve .....................................16 2-2ConditionsforC 2 join .................................18 2-3Boundingconstructsforacubiccurve .......................20 2-4Slefeconstruction ..................................21 2-5TheDirectX11pipeline ...............................23 2-6Tessellationpatterns .................................24 2-7TheREYESpipeline .................................26 2-8REYESimplementationswithDirectX11 .....................28 3-1Parametricaccuracy .................................30 3-2Ray-castingvsiPASS ................................31 3-3Edge-lengthandscreenboundheuristic ......................32 4-1Projectedslefe-boxes ................................33 4-2Fatslefe-quads ....................................34 4-3Adaptationof p ...................................35 4-4Pixel-accuracyandtriangledistribution .......................37 4-5iPASS .........................................38 4-6Minimalityof p ....................................41 5-1Screencaptureof ElephantsDream ........................43 5-23Danimationprocess ................................44 5-3SubD11model ....................................46 5-4Water-tightness ....................................48 5-5Updatingestimates E 2 ................................49 5-6SkeletalanimationimplementationonDirectX11 .................50 8

PAGE 9

5-7Galleryof ElephantsDream .............................53 6-1Isolatedtrianglesin Proog ..............................55 6-2ACCconversionexamples ..............................55 6-3ACCstencilsforthebicubicgeometrypatch ....................56 6-4Pinched-quadrepresentation ............................57 6-5PinchedACCstencils ................................58 6-6Generalizedstencilsforthetriangles ........................59 6-7Asymmetryofpinched-quadrepresentation ....................60 6-8Galleryofpinched-quadconversion ........................61 6-9ACCconversion ...................................62 6-10Pinched-quadconversionof Proog and Emo ...................63 6-11Stencilsparameterizedby .............................64 6-12Resultsofdifferentstencils .............................65 9

PAGE 10

AbstractofDissertationPresentedtotheGraduateSchool oftheUniversityofFloridainPartialFulllmentofthe RequirementsfortheDegreeofDoctorofPhilosophy ACCURATERENDERINGOFCURVEDHIGHER-ORDERSURFACESONTHEGPU By YoungInYeo May2012 Chair:J ¨ org,Peters Major:ComputerEngineering Curvedorhigher-ordersurfacessuchasasplinepatchoraB ezierpatch,needto betriangulatedforrenderingwiththecurrentgraphicspip eline.Aclassicchallengeis torendersuchsurfacespixel-accurately,i.e.,sothatthe displayhasneitherpolyhedral artifactsnorparametricdistortion.Therstcontributio nofthisdissertationshowshow tosettheevaluationdensityforsuchapatchjustnelyenou ghsothattheresulting triangulationyieldsapixel-accuratedisplayinthestand ardgraphicspipeline.The approachusestightestimates,notofthesizeunderscreenprojection,butofthe varianceunderscreen-projectionbetweentheexactsurfac eanditstriangulation. Thesecondcontributionofthisdissertationistoenablere al-timeskeletalanimation ofhigher-ordersurfacesusingDirectX11graphicshardwar e.Theapproachisto separateanimation,conversiontohigher-ordersurfacesa ndtheirevaluationfor renderingintopose-dependent,view-dependentandpurere nderingpasses.This minimizesdatatransfertotheGPUandavoidsunnecessaryrec omputation.An implementationrenderssceneswith140Kanimatedsmoothsu rfacepatchesona 1440x900screenwithsub-pixelaccuracyatmorethan300fra mespersecond. ThethirdcontributionistoextendtheACCtechniquetohand letriangleswhile modelingsmoothsurfaces.Toavoidquadruplingthecostwhe nafewtrianglesappear inanotherwisequadrilateralmesh,thisdissertationexhi bitssimplerulesthatgeneralize thoseofthepopularACCconversion. 10

PAGE 11

CHAPTER1 INTRODUCTION 1.1Motivation Whetherformanufacturingorentertainment,representingg eometryascurved higher-ordersurfaces(e.g.thesplinesurfacesinFigure 1-1B )hasadvantagesover polygonal,facetedmeshrepresentations:higher-ordersu rfacescanrepresenta modelmorecompactly,guaranteesmoothtransitionsandsil houettes,andhavemore high-levelhandlestomanipulatetheshape.Therefore,cur vedhigher-ordersurfaces areincreasinglyreplacingpolyhedralrepresentationsin applicationssuchasmovie productionortorepresentgamecharacters. A B Figure1-1.Facetedversussmooth Proog .A)Faceted Proog modelfrom Elephants Dream [ BlenderFoundation 2006 ].B)Smooth Proog model. Oneofthekeychallengeswhenworkingwithhigher-ordersur facesistoadjustthe evaluationresolutiontothelevelofdetailneededforaccu ratedisplay.Theevaluation density(tessellation)shouldbeneenoughsothatthehigh er-ordersurfacesdoesnot appearpolyhedralandnottoonetoslowdownrendering.Iti scommonpracticein 3Dmovieanimationtoovertessellateandrenderanexcessiv enumberoffragments. Thisleadstohugeperformancepenaltyduetoevaluation,ra sterizationandshading 11

PAGE 12

perfragment,whichareintroducedpereachtriangle.Forex ample,thewidely accessibleopen-sourcedmovie” ElephantsDream ”is10minuteslong,butrequires 125daystorenderandconsumesupto2.8GBofmemoryforeachf rameinFull-HD resolution(1920x1080)[ BlenderFoundation 2006 ].Eachframetakesca10minutesto render. Inaninteractivesetting,wherethecameraisfreetozoomin oroutofthescene, noxedtessellationlevelcanavoidfaceteddisplayorover tessellation.Thereforethe GPU,whichcanaccessallthenecessaryinformation,shoulda utomaticallydetermine theoptimaltessellationlevelwhilerendering. Thisdissertationaimstodevelopan automatictessellationsettingforcurrent graphicspipelinesthatguaranteespixel-accuracyinthei nteractivesetting. The contributionsofthisdissertationareasfollows: Therstdenitionofpixelaccuracy(Chapter 3 ). Therstguaranteeofpixelaccuracy(Chapter 4 ). Anefcientalgorithmforrenderinghigher-ordersurfacesw ithpixelaccuracy (Chapter 4 ). Anapplicationoftheefcientalgorithmtoanimation(Chapt er 5 ). AsimpletreatmentoftriangularfacetswithintheACCpatch framework(Chapter 6 ). Themeaningofpixel-accuracyisformalizedinChapter 3 .Theapproachseeks tobeefcientby minimally partitioningthepatches,justsothattheerrordueto tessellationstaysbelowthevisiblepixelthreshold.Fore xampleauniform,atbicubic patchorthogonaltotheviewingdirectionwillnotbesplitb utsentdirectlythroughthe hardwaretessellationandz-bufferstages,evenwhenitcov ers 1440 900 pixels.By comparison,thewidelyusedtechniqueofmicro-polygoniza tionrecursivelysplitssucha patchtentimesineachdirectiontoensureboundsonthepixe l-extentoftheprojection. 12

PAGE 13

A B C D Figure1-2.Fourkeyinteractivecomputergraphicsapplica tionsthat,traditionally,hadto carefullytradeoffaccuracyandefciency.A) Animation : ElephantsDream [ BlenderFoundation 2006 ].B) SurgicalSimulation : ToolkitforIllustration ofProceduresinSurgery(TIPS) [ SurfLabU.ofFlorida 2011 ].C) Game : WorldofWarcraft [ BlizzardEntertainment 2011 ].D) CAD/CAM : SolidWorks [ DassaultSystems 2011 ]. Theaimofthisdissertationistotestfeasibilityofreal-t imepixel-accuracy.This wouldrevolutionizethestateoftheartbyenabling: 3Danimationinreal-time(Figure 1-2A ); InteractiveresponseinCAD/CAMdesign(Figure 1-2D ); Interactivegameswithcinematicquality(Figure 1-2C ); Surgicalsimulationwithcinematicquality(Figure 1-2B ). 13

PAGE 14

1.2Overview Chapter 2 laysoutthebasicmathematicalandcomputergraphicsconce pts. Chapter 3 explainsthekeynewconceptofpixelaccuracy.Efcientpixe l-accurate renderingalgorithmandanimplementationaredevelopedin Chapter 4 .InChapter 5 real-timeskeletalanimationofhigher-ordersurfacesare illustrated.FinallyChapter 6 showsasimpleconversionfortriangularfacets. 14

PAGE 15

CHAPTER2 BACKGROUND Theworkwillfocusonthemostcommonsurfacerepresentatio n,aparametric representationintermsofthetensor-productB ezierform,joinedwithgeometric continuity.Section 2.1 willexplaintheseterms.Thetightboundingconstruct,sle fes areintroducedinSection 2.2 .Theworkwillusethemostrecentavailablegraphics standards,theDirectX11standard(Section 2.3.1 )andwillcontrastitwiththestandard ofanimatedmovierendering,Reyes(Section 2.3.2 ). 2.1BasicMathematicalConcepts Therearetwodistinctapproachestorepresentingsurfaces inmodelingsystems: Parametricsurfaces hasarepresentationoftheform ( x ( u;v ) ;y ( u;v ) ;z ( u;v )) whichmapsa2Ddomainof ( u;v ) to3Dspace. Implicitsurfaces denesasurfaceasasetofpoints f ( x;y;z ) suchthat F ( x;y;z )=0 g Forexample,thesetof ( x;y;z ) thatsatises F ( x;y;z )= x 2 + y 2 + z 2 1=0 isan implicitrepresentationofaunitsphere.Alternatively,au nitspherecanberepresentedin aparametricformusingthreeequationsintermsoftwoparam eters s and t asfollows. x ( s;t )=cos( s )cos( t ) ;y ( s;t )=cos( s )sin( t ) ;z ( s;t )=sin( s ) As s isvariedfrom 0 to and t isvariedfrom 0 to 2 ,thepointsonthesurface ofthespherearegenerated.Additionallycosandsin-termsc anbereplacedby rationalexpressions.Rationalrepresentationispreferr edintheapplicationthis thesisaddresses.Thatis,wefocusonrationalparametrics urfacerepresentation. Beforediscussinggraphicsbackgroundindetail,wexsomen otationsandgivethe mathematicalbasisinthenextsection[ Myles 2006 ]. 2.1.1GeometricContinuity Westartwiththedenitionsof C k continuityand G k continuity.Geometriccontinuity isarelaxationofparametrization,andnotarelaxationofs moothness. 15

PAGE 16

Denition1 (C k ) AfunctionissaidtobeC k ifitis k -timescontinuouslydifferentiable. TwoC k functionsegmentsaresaidtojointogetherC k ifatallcommonpointsintheir domains,theyhavethesame i th derivativeforall i 2 0 ; 1 ; ;k Denition2 (G k ) TwoG k functionsegmentsaresaidtojointogetherG k ifatall commonpointsintheirdomains,theyhavethesame i th derivativeforall i 2 0 ; 1 ; ;k afterasuitablereparametrization. Inthecaseof G 1 continuity,twopatcheswithacommonboundarycurvehave acontinouslyvaringtangentplanealongthatboundarycurv e.Theconceptof G 1 continuityisageneralizationof C 1 continuity,butnottheotherwayaround. 2.1.2B ezierCurves History .TheB ezierformwasdevelopedin1959byaFrenchautomobileengin eer c 0 c 1 c 2 c 3 A ( c 0 ) A ( c 1 ) A ( c 2 ) A ( c 3 ) f ( t ) A ( f ( t )) A ( afne ) f ( t ) 2 CHULL ( f c i g ) A ( c i ) $ A ( f ( t )) Figure2-1.Adegree3B eziercurve f ( t ) withcontrolpoints c i anddashedcontrol polygondemonstrates( left )theconvexhullpropertyand( right )afne invarianceoversomeafnetransformation A PauldeCasteljauandwidelypublicizedin1962byanotherFr enchautomobileengineer PierreB ezier.AdetailedtreatmentoftheB ezierformcanbefoundin[ Prautzschetal. 2002 ]. Denition .The B ezierform isageometricrepresentationofpolynomials,anda B eziercurveisaparametriccurve,eachofwhosecomponentsa reB ezierfunctions.A degree n B ezierfunctionisdeterminedby n +1 controlpoints .Thepiecewiselinear interpolantforagivenorderingofthecontrolpointsiskno wnasthe controlpolygon 16

PAGE 17

Thedegree n B ezierpolynomial f withcontrolpoints c =( c 0 ;c 1 ;:::;c n ) isdenedby f ( t ):= n X i =0 c i B n i ( t ) wherethe i th B ezierbasisfunctionofdegree n is B n i ( t ):= n i (1 t ) n i t i : AB ezierfunctionistypicallysaidtobeamapfromthedomain [0 ; 1] ,particularlyasit interpolatestherstandlastcontrolpointsattheparamet ervalues 0 and 1 ,respectively. However,thefunctioniswelldened–andcanbeevaluated–o verall t 2 R .The n +1 basesofdegree n arenon-negativeover [0 ; 1] andformapartitionofunitysince d X i =0 B n i ( t )= n X i =0 n i (1 t ) n i t i =(1 t + t ) n =1 : Hence, f ( t ) isaconvexcombinationitscontrolpoints,givingtheB ezierformthe followingthepropertiesillustratedinFigure 2-1 1. Theconvexhullproperty: AB eziercurvealwaysliesintheconvexhullofits controlpoints. 2. Afneinvariance: Applyinganafnetransformationtoacontrolpolyhedron appliesittothecorrespondingB eziercurveaswell. Ageometricconsequenceoftheabovepropertiesisthatthec ontrolpolyhedronisan exaggerationofthecurve. Derivatives .DerivativesoftheB ezierformalsohaveaverygeometricinterpretation. ThecontrolpointsofthederivativeofaB eziercurve,writtenintermsofaB eziercurve ofalowerdegree,aremerelydifferencesofconsecutivecon trolpoints,scaledbythe degree.Inotherwords, d du n X i =0 c i B n i ( t )= n n 1 X i =0 ( c i +1 c i ) B n 1 i ( t ) : 17

PAGE 18

Byinductiononthenumberofderivatives,the k th derivativecanbewrittenas d du n X i =0 c i B n i ( t )= n ( n k )! n k X i =0 D k i ( c ) B n k i ( t ) ; (2–1) wherethelinearoperator D k i ( c ):= k X j =0 ( 1) k j k j c i + j computesthe k th forwarddifferencebeginningatindex i .Forinstance, D 2 i ( c )= c i 2 c i +1 + c i +2 ,and D 3 i ( c )= c i +3 c i +1 3 c i +2 + c i +3 .SincetheB ezierforminterpolatesits endpoints,Equation 2–1 impliesthatthe k th derivativeatthebeginning(end)ofaB ezier curveisdetermined solelybytherst(last) k +1 controlpoints ofthecurve. ConditionsforC k joins ConsideringthatallB eziercurveshavethedomain [0 ; 1] ,thisdenitionofC k is modiedtoaccomodatetheneededshiftintheparametrizati on.B eziercurvesare typicallyjoinedend-to-endtocreatesmoothpiecewisepol ynomialcurves.Hence: Denition3 (C k forB eziercurves) TwoB eziercurvesaresaidtojoinC k iftheyshare anendpointandtheirrst k derivativeswithrespecttotheirrespectiveparametersat thatendpointarethesame. c 00 c 01 c 02 c 03 = c 10 c 11 c 12 c 13 f 0 ( t ) f 1 ( t ) Figure2-2.ConditionsforC 2 joinforapairofdegree3B eziercurves, f 0 ( t ) and f 1 ( t ) C 0 andC 1 ( c 03 = c 10 =( c 02 + c 11 ) = 2 .C 2 ( c 02 +( c 02 c 01 )= c 11 +( c 11 c 12 )= gray lledpoint. Bythisnewdenition,inorderforadjacentB eziercurvesofthesamedegreeto joinC k ,therst k differencesneedtobematchedatthecommonjoin.Asanexampl e, thefollowingaretherequirementsforaC 2 joinbetweentwodegree n curves, f 0 ( t ) and 18

PAGE 19

f 1 ( t ) ,withcontrolpoints c 0 =( c 00 ;c 01 ;:::;c 0n ) and c 1 =( c 10 ;c 11 ;:::;c 1n ) ,respectively.Tosatisfy theC 0 constraint,weneedonlythattheendpointsmatch: c 0n = c 10 .Additionally,C 1 equatestherstdifferences: c 0n c 0n 1 = c 11 c 10 c 10 c 0n 1 = c 11 c 10 c 0n = c 10 =( c 0n 1 + c 11 ) = 2 ToadditionallygetC 2 ,weneed c 0n 2 c 0n 1 + c 0n 2 = c 12 2 c 11 + c 10 2 c 0n 1 + c 0n 2 = c 12 2 c 11 c 0n 1 +( c 0n 1 c 0n 2 )= c 11 +( c 11 c 12 ) SeeFigure 2-2 foranapplicationtotwodegree3curvesandthegeometricin terpretation oftheC 2 constraint. 2.1.3Tensor-ProductB ezierPatches Tensor-productB ezierbasesareproductsoftwounivariateB ezierbases.The splinepatch f ofdegree ( n 0 ;n 1 ) correspondingtothecontrolpoints c =( c i:j ) 0 i n 0 ; 0 j n 1 isdenedby f ( t ):= n 0 X i =0 n 1 X j =0 c i;j B n 0 i ( s ) B n 1 j ( t ) : TensoringinheritsallthepropertiesofB eziercurves,includingthederivativeformulas withrespecttoeachindividualvariable:1.Derivativeswithrespectto t correspondtodifferencing c alongthe j directionand scalingitby n 1 2.Althoughthesurfacepatchisdenedonallof R 2 ,thedomainistypicallysaidtobe [0 ; 1] [0 ; 1] sincethebasesarenon-negativeoverthisdomain,andthefo urcorner controlpointsofthepatchareinterpolatedatthefourcorn ersofthisdomain. 19

PAGE 20

Figure2-3.Boundingconstructsforacubiccurvewithasteplikecontrolpolygon [ PetersandWu 2004 ].Herelessgreymeansbetter! 2.2SubdividableLinearEfcientFunctionEnclosures Subdividablelinearefcientfunctionenvelopesorslefes( pronouncedsleeves) [ Lutterkort 2000 ; Peters 2004 ]tightlysandwichnon-linearfunctions,suchassplines andsubdivisionsurfaces,betweenanupperpiecewiseappro ximation p andalower piecewiseapproximation p : p p p: AsshowninFigure 2-3 ,slefescanprovideadecidedlytighterboundingconstruct thanaxis-alignedboundingbox(AABB),boundingdisk,convexhu ll(hereequaltoand 8dop ),orientedboundingbox(OBB). Assumethepiecewiseupperandlowerboundeachhave m segmentsand p is apolynomialofdegree d inB ezier-form.Weneedonlyrecordthevaluesat m +1 breakpointsof piecewiselinear upperboundingfunctions a dj m j =1 ;:::;d 1 ,that spantheoriginalspaceminusthelinearfunctions ` ( t ) .Werecordanequalnumberof 20

PAGE 21

breakpointsoflowerboundfunctions a dj m .Then,with r 2j p := d ( c j 1 2 c j + c j +1 ) p ( t ) p ( t ):= ` ( t )+ d 1 X j =1 max f 0 ; r 2j p g a dj m ( t ) (2–2) + d 1 X j =1 min f 0 ; r 2j p g a dj m ( t ) : Amatchinglowerbound p isobtainedbyexchanging min and max operators. bcontrol bx x2 x1 x3 x0 Lb bcontrol bx x2 x1 x3 x0 Lb width = 0.2767 control polygon c 0 c 1 c 2 c 3 p ` p a 1 3 a 1 3 a 1 3 a 1 3 A B Figure2-4.Theslefe-construction[ Peters 2004 ].A)Thefunction p ( t ):= 2 3 b 31 ( t )+ 1 3 b 32 ( t ) ,anditsupperbound p .B)Thelowerandtheupper bound a 1 3 and a 1 3 sandwichingthefunction a 1 within m =3 segments. Table2-1.Valuesatbreakpointsofa m =3 -pieceslefe. t = 01/32/31 a 31 3 0-.370370..-.296296..0 a 31 3 -.069521..-.439891..-.315351..-.008732.. Pre-computationof slefe.Sincetheboundingfunctions a dj m in( 2–2 )arepiecewise linear,theyaredenedbythefunctionvaluesattheprescri bedbreakpointsandwe canpre-computeandstorethemintablesortextures.Forexa mple,Table 2-1 listsall breakpointsneededtocomputeFigure 2-4 ,e.g.thevalues : 370370 :: and : 439891 :: at 21

PAGE 22

t =1 = 3 .Thistableandthetablesforhigherdegreecanbedownloade d[ WuandPeters 2002 ].Duetosymmetrybetweenfunctions,forexample a 32 (1 t )= a 31 ( t ) ,onlyonehalf ofthe d 1 tablesareneeded,i.e.just1for d =3 .Thenextparagraphshowsthatwe needonlyboundpolynomialsinonevariable. Tensor-product .Apolynomialsurfacepieceintensor-productB ezier-formof degree d 1 ;d 2 inthevariables ( u;v ) 2 [0 :: 1] 2 p ( u;v ):= d 1 X i =0 d 2 X j =0 c ij b d 2 j ( v ) b d 1 i ( u ) ; (2–3) canbeboundedbycomputingtheuppervalues ~ c ij ;i =0 ;:::;d 1 (foreach j =0 ;:::;m 2 ) ofthe1-variableslefeinthe v directionandthentreatthevaluesascontrolpointswhen computingtheupperslefeinthe u direction: p ( u;v ) d 1 X i =0 m 2 X j =0 ~ c ij b 1j ( v ) b d 1 i ( u )= m 2 X j =0 d 1 X i =0 ~ c ij b d 1 i ( u ) b 1j ( v ) m 2 X j =0 m 1 X i =0 c ij b 1i ( u ) b 1j ( v ) : Concretely,let slefe ( c ;m ) betheroutinethatreturnsthe m +1 valuesoftheupperslefe. Wecompute for i =0 ;:::;d 1 ; [~ c i 0 ; ~ c i 1 ;:::; ~ c im 2 ]:= slefe ([ c i 0 ;c i 1 ;:::;c id 2 ] ;m 2 ) andobtainthevalues c ij i =0 ;:::;m 1 j =0 ;:::;m 2 oftheupperboundonthe tensor-productfromasecondapplication for j =0 ;:::;m 2 ; [ c 0 j ; c 1 j ;:::; c m 1 j ]:= slefe ([~ c 0 j ; ~ c 1 j ;:::; ~ c d 2 ;j ] ;m 1 ) : Wecomputelowervaluesanalogously.Tensoredslefesavoid theneedtostoreand accessthemuchlargertableof(possiblytighter)pre-comp utedboundsintwovariables. 22

PAGE 23

2.3Basic3DGraphicsConcepts Inthissectionwedescribesomegeneralbackgroundincompu tergraphics, focusingonthe3Dgraphicspipeline.2.3.1DirectX11 Figure2-5.TheDirectX11pipeline[ Gee 2008 ] DirectX11,whichisthelatestMicrosoft'sgraphicsAPI,intr oducesthethreenew stagesforTessellation: thehullshader thetessellationengine ,and thedomain shader (Figure 2-5 ).Thesenewtessellationstagesenableprogrammablehardw are tessellationonthemoderngraphicshardware.TheDirectX1 1tessellationpipeline providesnegrainedcontroloverLODandsupportshigher-o rdersurfacesupto32 controlpoints.OpenGL4.0alsosupportssamefeaturesinsi milarnamesbutweusethe DirectXterminologywhichiswidelyused. TessellationusestheGPUtocalculateamoredetailedsurfac efromalow-detail surfaceconstructedfromquadpatches,trianglepatchesor isolines[ Microsoft 2011 ].To approximatethehigher-ordersurfaces,eachpatchissubdi videdintotriangles,points, 23

PAGE 24

orlinesbasedontessellationfactors. Thehullshader isaprogrammableshaderthat producesoutputcontrolpointsdirectlytothedomainshade rfrominputcontrolpoints passedbythevertexshader.Italsocomputesappropriatete ssellationfactors,whichare passedtothetessellationengine. Thetessellationengine isaxed-functionstagethat tessellatesadomain(quadrilateral,triangle,orline)in tomanysmallerobjects(triangles, pointsorlines). Thedomainshader isaprogrammableshaderthatevaluatesthe vertexpositionintheoutputpatch.Afterthedomainshaderc ompletes,tessellationis nishedandpipelinedatacontinuestothenextpipelinesta ge. Figure2-6.Someexamplesoftessellationpatternsgenerate dbythe Tessellator [ Nietal. 2009 ]. DirectX11tessellatorsupportscontinuousview-dependen tLOD(levelofdetail) byallowingfractionaltessellationfactorsbetween2and6 4(Figure 2-6 )Pixeldropsor crackscanbeseeniftwoedgesharingpatcheshavedifferent tessellationfactors.To preventcracksonthepatchboundaries,ausercanspecifydi fferenttessellationfactors peredgeandinsidethepatch. 24

PAGE 25

Inadditiontothesenewtessellationstages,DirectX11int roduces thecomputeShader asawaytoutilizethecomputationalresourcesonGPUwithout so manyconstraints.Asaprogrammablestage,itenablesmorege neralalgorithms farbeyondshadingbyprovidinghigh-speedgeneralpurpose computingandtaking advantageofthelargenumberofparallelprocessorsontheG PU.Thecomputeshader supportsmoreeffectiveparallelprogrammingmethodswith memorysharingandthread synchronizationfeaturessimilarwithothergeneralpurpo seGPUtechniques.Image processing,ray-tracing,andphysicssimulationaretarge tapplicationsofthecompute shader.2.3.2ReyesandMicro-polygonization TheReyes(rendereverythingyoueversaw)architecture[ Cooketal. 1987 ]was designedbyPixartoprovidephoto-realisticrenderingofco mplexanimatedscenes andPixar'sPhotoRealisticRenderMan(seee.g.[ RenderMan 2005 ])implements Reyesandiswidelyusedinthelmindustry.Aconspicuousfe atureoftheReyes architectureissplit-and-dicephasewhichaimsatpixel-a ccuracy.Curvedsurfaces, suchasB ezierpatches,NURBSpatchesandCatmull-Clarksubdivision surfaces,are partitionedintomicro-polygonsexpectedtoprojecttonom orethanaquarterpixel. AnumberofrecentpublicationshavefocusedonReyesandmic ro-polygonizationon theGPU.In Real-timeReyes-styleadaptivesurfacesubdivision ,PatneyandOwens [ PatneyandOwens 2008 ]porttheReyessplit-and-dicestageontheGPUusingCUDA. A Data-ParallelRasterizationofMicro-polygons [ Fatahalianetal. 2009 ]improves micro-polygonrasterizationand[ Fisheretal. 2009 ]improvessplit-and-dicingwith theDiagsplit.Figure10of[ Fisheretal. 2009 ]givesacomparisonoftheaccuracy ofsplittingheuristics. RenderAnts byKunZhouetal.[ Zhouetal. 2009 ]implements thecompleteReyes-pipelinebasedonaspecialGPGPUprogramm inglanguage, calledBSGP.AnimportantcontributionoftheRenderAntsapproa chisasoftware layeraimingatload-balancingwithinvariousstages(seea lso[ Tzengetal. 2010 ]). 25

PAGE 26

Forsupersamplingandanti-aliasing,[ Fatahalianetal. 2010 ]pointtotheproblemof manytinyfragmentsthatchallengememoryaccessandSIMDef ciencyandsuggest improvingshaderefciencybymergingmicro-polygons.[ EisenacherandLoop 2010 ] reportmicro-polygongenerationat30-50%ofthespeedofst andardrasterization. Severalrecentpapersaddressreal-timeaccuraterendering ofdefocusandmotion blur[ Heldetal. 2010 ; Houetal. 2010 ; Leeetal. 2010 ].Hou,Li,andZhou[ Houetal. 2010 ]reportimprovednumbersover[ Fatahalianetal. 2010 ]thatareinthetensof secondsforcomplexscenessuchasFurball,Ladybug,Fairy, Car.Ourfocusison higher-ordersurfaces,i.e.modelssuchasthoseusedin[ EisenacherandLoop 2010 ] ratherthansceneswithrichothercontent. Figure2-7.TheREYESpipeline[ Cooketal. 1987 ] ThebasicReyespipelinehasthefollowingsteps Bound Calculatetheboundingvolumeofeachgeometricprimitive. Split Spiltlargeprimitivesintosmaller,diceableprimitive. 26

PAGE 27

Dice Converttheprimitiveintoagridofmicropolygons,eachapp roximatelythe sizeofapixel. Shade Calculatelightingandshadingateachvertexofthemicropo lygongrid. Duetorecursivemannerinsplit-and-dice,real-timeReyes implementationhasbeen hardlypossibleuntilDirectX11isreleased.Thereexisttw opriorworkswhichimplement ReyesrenderingontheGPUusingDirectX11(Figure 2-8 ). 27

PAGE 28

A B Figure2-8.ReyesimplementationswithDirectX11.A)Reyesu singDirectX11 [ Tatarinov 2010 ].B)DirectX11Reyesrendering[ Binetal. 2010 ]. 28

PAGE 29

CHAPTER3 PIXELACCURACY Accordingto[ Cooketal. 1987 ],cinematicaccuracyrequiresgeneratingabase representationthatis`natural'inthesensethat uv axis-alignedgridsofmicro-polygons maptosurfacepiecesforwhichnoinverseperspectivecalcu lationisnecessarywhen shadingphoto-realistically.Weformalizethisintuitive notionbydeningtwocomponents ofaccuracy:coveringandparametric.Pixelaccuracyisalso appliedanddiscussedon trimminganddisplacementmapping. 3.1CoveringAccuracy Coveringaccuracymeansthatthecorrectsurfacepiecedete rminesthepixel. Thatis,thepixelshouldbedeterminedbyallvisible,possi blysemi-transparentpieces projectingtoitandbynooccludedpiece.Inaccuratetriang ulationandrasterization leadstonon-smoothsilhouettes,falseintersectionlines ,andincorrectdepth-ordering whereanoriginallycurvedandfront-mostfragmentlosesin thedepth-buffercomparison. Inadditiontoincorrectdisplay,coveringinaccuracycanr esultinnoiseorpixeldropout incompatiblewithhigh-qualityrendering. 3.2ParametricAccuracy Parametricaccuracymeansthatthepixelisassociatedwith a ( u;v ) parameterpair whosesurfacepoint p ( u;v ) 2 R 3 projectstothepixel,notnecessarilyitscenter:forpixel coordinates [ x y ] 2 N 2 ,screenprojection P : R 3 R 2 and k x y k 1 :=max fj x j ; j y jg ,wewant k P ( p ( u;v )) [ x y ] k 1 < 0 : 5 : (3–1) For,evenwhenthepixelisdeterminedbythegeometricallya ccuratesurfacepiece, acoarsetriangulationfollowedbyprojectivedistortiona ndlinearrasterizationcan generatefragmentswiththewrongpre-image,i.e.suchthat P ( p ( u;v )) liesoutside thepixel.Since ( u;v ) areusedfortexturelook-up,toevaluatesurfacepropertie ssuch asnormalsandtodeterminedisplacementandproceduralsha dersthiscancausea 29

PAGE 30

multitudeofartifactsincompatiblewithphoto-realistic rendering.Parametricinaccuracy iscolor-encodedontheteapotinFigure 3-1A andtheresultingtexturedistortionis shownintheenlargement. A B Figure3-1.Parametricaccuracy.A)uniform 9 9 evaluation.B)pixel-accurate rendering.Greenandredpixelsareinaccurate.Eachpixelha san associated u;v parameterandpatch p .Thepixeliscolored[grey,blue, green]ifthedistanceofthepixelcentertothescreenproje ctionof p ( u;v ) is atmost [0 : 1 ; 0 : 5 ; 1] pixelwidths.Ifitisred,thedistanceisgreaterthan1.The enlargementshowstheimplicationsforacheckertexture:A) hasincorrect kinksandoscillations. 3.3Comparisons Comparisontoray-casting .Togetaball-parkestimate,wecomparedto zero-bounceray-castingoftriangulatedmodelsintheOpti Xframework[ Parkeretal. 2010 ].TheOptiXray-tracingframeworkallowsforspecializedi mplementationof operationssuchasray-surfaceintersection.Tosidestept hediscussionwhetherweuse themostefcientbi-cubicrootdetermination,wepre-tess ellatedtheteapotinto 4 4 triangulatedquadsperpatchreasoningthatthisray-inter sectionshouldbeatleastas fastasndingrootsofthebi-cubic.Figure 3-2 illustratesthemeasurementsonaNVidia GeForceGTX480platform.Thenumbershintthatproximityof patchesinuencesthe performanceoftheray-castingimplementationbutnotofiP ASS. Comparisontomicro-polygonization .WheretheiPASScriterionguarantees variancebelowpixel-extent,micro-polygonizationaimsa tcreatingfragmentsof quarter-pixelsize.[ Tzengetal. 2010 ]reportReyesrenderingoftheteapot(23 fps),killeroo(18.5fps)andbigguy(11fps).Butaperforman cecomparisonwith 30

PAGE 31

A B C D Figure3-2.Ray-castingvsiPASS (1440 900) pixelresolution,colorsindicatenormals. A)OptiX:88fps,B)OptiX:142fps,C)iPASS:303fps,D)iPASS:301fps.InB)andD),the10teapotsarespacedapart,inA)andC)theyarecl ose together. implementationsofmicro-polygonizationiscomplicatedb ythequestionwhethersuch implementationsguaranteepixel-accuracy.Ifnot,theyca nbefaster.Forexample,the edge-lengthrule(e.g.[ Fisheretal. 2009 ])triggerspatchsplittinguntiltheprojection ofeachedgeofthepatchisatmost8pixels.Thenthepatchise valuatedona uniform 16 16 grid.Thisheuristicisusefultoavoidcracksbutdoesnotgu arantee pixel-accuracyasFigure 3-3 (a)demonstrates.InFigure 3-3 (a)thescreencoordinates ofthe 17 17 evaluationpointsfor P ( p ( u;v )):=[ u 3 v 3 ] aremarkedonaquarter-pixel-grid. Alledge-lengthsare8,butthesizeoftheupperrightmicro-p olygonis9quarter-pixels ratherthan1.—ThelastrowofTable 4-1 ,labeled`Micro',liststheperformancewhen 31

PAGE 32

A B C Figure3-3.Edge-lengthandScreenboundHeuristic.A)Theedge -lengthheuristic appliedtoabi-cubicmapcovering 8 8 pixelscanyieldmicro-polygonswith edge-length1.5pixels.B)Parametricinaccuracyofthescre en-bound heuristicshowninred.C)iPASS basingthetessellationfactoronthenumberofpixelsinthe AABBboundingboxofthe patchprojection.Thisresultsinovertessellationandhen cereducedfps.Reducingthe tessellationfactortomatchthediceablescreenboundof8p ixels,oftenconsidered sufcientforuniformrasterization,resultsintheinaccu raciesshowninFigure 3-3 (b). Comparisontostandarddeferredshading .Sinceshadingdominatesthecost forhigh-endrendering(seee.g.[ Zhouetal. 2009 ]),anobviousresponseistoonly shadewhatisvisible,i.e.someformofdeferredshading.Ho wever,standarddeferred shadingisefcientexactlybecauseitallowsinaccuratere ndering.Whilethenumber ofinaccuratepixelsdependsonmanyvariables,suchasscen ecompositionandview, thesepixelsarelocatedexactlyatpointsofhighvisualimp act,suchassilhouettes. Ourdeferredshadingaccessesattributesfromthe ( u;v ) -and-patch-idinformationand computesthemexactly. 32

PAGE 33

CHAPTER4 EFFICIENTPIXEL-ACCURATERENDERING 4.1EstimatesEnsuringPixel-Accuracy Totakeadvantageoftheexisting,efcientgraphicspipeli ne,wewanttodetermine thecoarsestpartitionthatguaranteespixel-accuracywhe nrasterizing.Unlikemicro-polygonization, weonlyboundthe variancefromapiecewiselinearapproximation ofthesurface pieces,notthesizeoftheirprojections. Thetightnessofboundsisimportant.Looseboundsresultin over-tessellation. Ontheotherhand,iftheboundisexpensivetocompute,efci encyislostupfront.We thereforeuseboundsspecicallydevelopedforthetwocomm onhigher-ordersurface representations:surfacepatchesintensor-productBernst ein-B ezierform( glMap2 in OpenGL)orforNURBSpatches( gluNurbsSurface inOpenGL).Sincethelatteriseasily convertedtopolynomialpiecesinB ezier-form,bythewell-knownstabletechniquecalled `knotinsertion',wecanconneourdiscussiontotheB ezier-form. p ( u i ;v j ) P ( p ( u i 1 ;v j )) p ( u i 1 ;v j ) P ( p ( u i ;v j )) x ; y pixelsize x ij ; y ij x ij ; y ij Figure4-1.Projectedslefe-boxes.Theprojectedslefe-box es(red)areenclosedby axis-alignedrectangles(blue,dashed)whoseconvexhull( greyarea) enclosesthetheimageoftheparametercurve p ([ u i 1 ::u i ] ;v j ) .The (square-rootofthe)maximaledge-lengthoftherectangles ,inpixelsize, determinesthetessellationfactor p 33

PAGE 34

4.1.1BoundingSurfaces InSection 2.2 ,weconsideredonlyfunctions,i.e.onecoordinateoftheim age. Nowweconsiderslefe-boxes p ( u i ;v j ) thatareaxis-alignedboxesin R 3 (seeFigure 4-1 and 4-3 (b))andtheirprojection P ( p ( u i ;v j )) tothetwoscreencoordinates x and y .Unlikeexactsurfacepoints,whichyieldatbestanestimat eofthetruesurface intheirneighborhood,thefat slefe-quads spannedbyfourneighboringboxes(cf. Figure 4-2 )tightlyenclosethepatch.Wedonotcomputetheseslefe-qu ads,asone mightforcollisiondetection,sinceweneedonlyaboundont hedifferencebetween thescreenprojectionoftheexactnonlinearpatchanditsli nearapproximation. Forparametricaccuracy,thisboundisthemaximalextentof theprojectionsofthe slefe-boxes P ( p ( u i ;v j )) .Denotedby [ x ij :: x ij ] [ y ij :: y ij ] ) P ( p ( u i ;v j )) theminimal screen-coordinate-alignedrectanglethatenclosesthesc reenprojectionoftheslefe-box (seeFigure 4-1 ).Wecompute w ( m; [0 ; 1] ; p ):=max i =0 ;:::;m j =0 ;:::;m max f x ij x ij ; y ij y ij g ; (4–1) themaximaledge-lengthcalled width .Thewidthoftheprojectedbox, P ( p ( u i ;v j )) representsthevariancefromlinearityintheparameteriza tion.Forexample,thiswidth shrinkstozerowhentheparameterizationbecomesuniform. Figure4-2.Fatslefe-quadsformedbyfourslefe-boxesloca llyenclosethesurface(but arenotexplicitlycomputediniPASS). 34

PAGE 35

A B Figure4-3.Adaptationof p toparametrizationandgeometry.A)Theleftpatchis uniformlyparametrizedandtherightpatchisnon-uniforml yparametrizedin the x -direction(higherdensityforlow x values).Toguaranteeparametric accuracy,theiPASS-tessellation p ishigherontheright.B)Toguarantee coveringaccuracy,theiPASS-tessellationishigherforthehi gh-curvature patchontheright.Someslefe-boxesareshownin red 4.1.2ReningtheTessellation Forparametricaccuracy,wewanttoreducethewidthofthepr ojectionjustbelow pixel-sizebypartitioningboththe u -domainandthe v -domain.Consideringrstagain onevariableandonecoordinate, p : R R ;p ( u ):= P dj =0 c j b dj ( u ) and t i equallyspaced in U ,wedenethemaximal width of p ontheinterval U w ( m;U;p ):=max i =0 ;:::;m j p ( t i ) p ( t i ) j : (4–2) Restrictingthe u -domainfrom [0 :: 1] to [ u;u + h ] h<< 1 ,reducesthemaximalsecond difference jr 2 p j :=max i =1 ::d 1 jr 2 c i j2 R ofthecoefcientsof p to h 2 jr 2 p j .Comparingwith( 2–2 )andDenition( 4–2 ),wesee that w ( m; [ u;u + h ] ;p ) h 2 w ( m; [0 ; 1] ;p ) : (4–3) Thatis,partitioningthe u -domaininto 1 =h segments,andre-representingthefunction overthesmallerintervalbeforeapplyingthebound,scales themaximalwidthby h 2 35

PAGE 36

4.1.3PredictingSufcientTessellation Nowconsidertwovariablesandpairs ( u i ;v j ) ,equally-spacedintheunitsquare domain [0 ; 1] 2 anddeterminethewidthasin( 4–1 ).Toreducethewidthbelowonepixel, weneedtodeterminethetessellationfactor 2 R sothat w ( ; [0 ; 1] ;p ) < 1 .Wecan nowapply( 4–3 ):eachpieceofthealready m -timespartitioneddomainneedstobe partitionedafurther 1 =h := p w ( m; [0 ; 1] ; p ) times.Inthedenitionof w ( m; [0 ; 1] ; p ) we havetotakethemaximumofthescreen-coordinates x and y sincegenericallyneither coordinatedependsonjustoneof u and v .Andsincethecontributionsofpartitioning the u -andthe v -domainaremixedinthetensor-product,weneedtopartitio nthe u -and the v -directionequally,bythesamefactor. Then,foranyinitialchoice m> 0 ,partitioningboththe u -andthe v -domaineach into xy ( m; p ):= m p w ( m; [0 ; 1] ; p ) (4–4) manypieces,connestheparameterdistortiontoatmostone unit.Analogously,the width w z ( m; [0 ; 1] ; p ) ofthedepthcomponent z oftheprojectionmeasuresatnessofthe fatslefe-quadsandthereforetrustworthinessofthez-buf fertestforcoveringaccuracy. Toenforcethedepthtolerancetol z ,wepartitioninto z ( m; p ):= m p w z ( m; [0 ; 1] ; p ) = tol z pieces.4.1.4SettingtheTessellationFactor Toguaranteethatanyerrorduetolinearrasterizationisbe lowpixelanddepth thresholds,weestablishthewidthforlow m ,say m =2 or 3 ,andthenapply( 4–4 )toset thetessellationfactoras p :=max f xy ( m; p ) ; z ( m; p ) g : (4–5) Figure 4-4 illustratesthat,asexpected,theresultingpiecesaretyp icallymuchlarger thanmicro-polygons. 36

PAGE 37

A B C D Figure4-4.Pixel-accuracyandtriangledistributionfor38 %screencover.A)Teapot,B) Frog,C)Bigguy,D)Killeroo.( left gures)Greycolorindicatesforthepixel's u;v that p ( u;v ) projectstolessthan0.1pixelsizesawayfromthepixel center.Bluemeanslessthan0.5.( right gures)Thecolorsindicatetriangle size: blue< 5 green< 10 red< 20 white> =20 pixels.Thebarontheright summarizesthetrianglesizeofthenon-backgroundpixels. 4.2Testbed:iPASS Asarstproofofconcept,weimplementedafastpixel-accura terendering technique,InteractivePixel-AccurateShadingofSurfaces(iP ASS).Thetechnique aimsforminimalpatchtessellation,justenoughtoguarant eethatrasterizationand z-bufferinginthestandardgraphicspipelineyieldpixelaccuracy.Figure 4-5 showsthe iPASSalgorithmmappedtotheDX11graphicspipeline. 37

PAGE 38

p p p p ; p ; q sharewithneighbor ComputeShaderCS PixelShaderPS DomainShaderDS HullShaderHS TessellatorTE Rasterizer pertriangle determine p ; q Evaluation ( u;v ) generation Rendering patch p (controlpoints c ij ),slefeTable Pixel-AccurateRendering Figure4-5.DX11passesusedbyiPASS.4.2.1ComputeandShareTessellationFactors Foreachpatch,thecomputeshaderdeterminesthecornersof theslefe-boxes, projectsthemtothescreen,computes p accordingto( 4–5 )for m =3 andshares p withtheedge-adjacentpatches.Weallocateonepatchperth readgroup,oneslefe boxperthread.Ifthepatchliesoutsidetheviewingfrustum ,asiseasilycheckedwhen computingthecornersofthescreen-projectedslefe-boxes P ( p ( u i ;v j ))) ,then p :=0 38

PAGE 39

4.2.2Pixel-AccurateRendering Toguaranteewater-tightness,theHullShadercompares,for eachedgeofapatch p ,itsinteriortessellationfactor p withthefactor q ofitsedge-neighbor,depositedby theComputeShader.Theedge-tessellationfactor p ; q for p ontheboundarybetween patches p and q isthen,bydefault,setto p ; q :=max f p ; q g .Onlyif p =0 istheedge factor p ; q issettozero.Apatchoutsidetheviewingfrustumtherefore hasminimalcost. Notethatthedefaultcorrectlysets q ; p = q for p =0 and q > 0 TheTessellationEnginethenappliesbothinteriorandedget essellationfactors setbytheHullShader,theDomainShaderevaluatesthesplinep iecesatthe ( u i ;v j ) coordinatesgeneratedbytheTessellationEngineandtheres ultingtriangles,possibly augmentedby ( u i ;v j ) andthepatchandobjectids,arefedthroughtheRasterizera nd the z -buffertoberendered. 4.2.3TheiPASSAlgorithm Inthefollowingpseudo-codeweabbreviate:CS=ComputeShade r,HS=Hull Shader,TE=TessellationEngine,DS=DomainShader,PS=PixelShad er. Input:Patches p withcoefcients c ij 2 R 3 slefe Table(s). Output:Pixel-accuraterenderingof p Pass0:Compute p anddistribute CS(perslefe-box)Compute p accordingto( 4–4 )andplacethevalueintothe edge-slotoftheedge-adjacentpatches.Patchesoutsideth eviewingfrustum receive p =0 Pass1:Pixel-accuraterenderingHS(perpatch p )Settheinteriortessellationfactorto p andtheedgefactorto p ; q :=max f p ; q g .If p =0 re-settheedgefactorto p ; q =0 TEGeneratethe ( u;v ) parametersaccordingtothefactors. DS(perparameterpair ( u;v ) )Evaluate p at ( u;v ) 39

PAGE 40

PS(perpixel) Applyshaders. END4.2.4Performance WewanttocheckthatiPASSdeliverspixel-accuracyefcientl yforgenericmodels consistingofbi-cubicpatches,suchasthefourmodelsinFi gure 4-4 SizeandDistributionofPixel-accurateTriangles .TherightpanelsofFigure 4-4 showthetriangle-sizedistributionforthemodels.Thebar onthefarrightsummarizes thisdistribution.Sinceanytriangle-sizedistributionmu stvarydependingontheview, zoomandthelayoutofthepatches,wenormalizedeachimaget ocover38%ofthe screen.Whiteindicateslargetrianglesexceeding20pixels .Boundingthe variance from thelinearapproximationevidentlyresultsintriangleswh oseprojectionistypicallymuch largerthanpixel-size.Weobservethat,generically,then umberoftrianglesprojectingto fewerthan5pixelsislowand,duetotheirsmallsize,theiro verallpercentageofscreen coverageisstilllower.Trianglesofmicro-polygonsize,i .e.coveringhalfapixelorless, arerare( < 1% )andclusteraroundthesilhouettes. Tightnessof p .TheleftpanelsofFigure 4-4 conrmpixel-accuracyforthe models.FromtheargumentsinSection 4.1.1 ,itisclearthatwecanarticiallyconstruct patchesandviewssothattheboundsareoptimalandtheiPASSch oiceof p isminimal. Toestimatehowtighttheslefe-estimatesaregenerically, wescaledthe p ofthefour testmodelsbynumberslessthan1.0toarticiallylowerthe irtessellationdensity.We thenanalyzedpixel-accuracybycomparingforeachpixelan ditsassociated ( u;v ) ,the pixelpositionto P ( p ( u;v )) .Measurementandpredictionof p arethereforeunrelated computations,astheyshouldbe.Wefound 0 : 9 p alreadyshowsdistortions(green). Tessellationfactor 0 : 7 p isunsafeforlargeareasandshowslargerthan1pixel-disto rtion (cf.Figure 4-6 ).Forthetestcases,therefore,thecomputed p isclosetominimal. 40

PAGE 41

A B C D Figure4-6.Minimalityof p :Error(green,red)whenreducingthetessellationfactor.A) p ,B)0.9 p ,C)0.8 p ,D)0.7 p Choiceof m for p .iPASSispixel-accurateforanyinitialchoice m ofslefe-segments. Tochoosethemostefcienttrade-offbetweeninitialtight nessofourestimateandthe costofourspottest,wecomparedtheperformancefor m =2 ; 3 ; 4 overarangeof models.Table 4-1 showsthatforallmodelslargerthantheteapot,thefpsarem aximal when m =3 .Wechose m =3 asthedefault,alsosinceitnicelymatchesthenumberof slefe-boxeswiththenumberofcoefcientsinabicubicpatc h. Table4-1. Choiceof m =3 whencomputing p fps teapotfrogbigguykilleroo m =2 1398 9117901024 m =3 1293 9327941270 m =4 12769027451048 Micro 1150761258635 41

PAGE 42

CHAPTER5 REAL-TIMESKELETALANIMATIONANDRENDERING Smoothpiecewisepolynomialsurfacesarethestandardrepre sentationinhigh end,movie-qualityanimation.Subdivisionsurfaces,splin e(NURBS)surfacesor B ezierpatch-basedsurfacesarechosenoverpolygonal,poly hedral,orfaceted-based representationsbothforaestheticreasonsandfortheirab ilitytorepresentmodelsmore compactly.Inparticular,smoothsurfacesyieldmorelifeliketransitionsandsilhouettes and,inprinciple,supportarbitrarylevelofresolutionwi thoutpolyhedralartifacts(see Figure 1-1 ). Butwhilesmoothsurfacesarecommonlyusedincinematicprod uctionand geometricdesign,theyarenotcommonlyusedforinteractiv etasks.Animationartists anddesignerstypicallyworkoffafacetedmodelatagivenre solutionandhaveto callaspecialrenderingroutinetoinspecttheexactoutcom eoftheirwork.Gaming traditionallyreliesontexturingtomakecoarsely-facete dmodelsmoreacceptable. Thechallengeistoreducethecombinedcostofthefollowing threetasks:1.the propagationofhierarchicalweightedrigidtime-dependen ttransformations wR ( t ) tothe vertices v ofthemodel'smesh;2.theconversion C ofthis(irregular)meshtoasmooth surfacerepresentation,and3.sufcientlydenseevaluati on E ofthesmoothsurfaces withoutincurringpolyhedralartifacts,parametricdisto rtionsorpixel-dropoutunderview transformations M ( s ) .(Theviewingchanges s j typicallycorrespondtoanerpartition oftimethantheanimationsteps t i .) WiththeavailabilityofGPUparallelism,thesechallengesca nandhavebeen individuallyaddressed:thedeformationofthemeshpoints withrespecttocontrolcages (seee.g.[ Joshietal. 2007 ; Juetal. 2005 ; Lipmanetal. 2008 ; Zhouetal. 2007 ]or localtransformationsareeasilyparallelized,xed-dept hsubdivision[ BolzandSchr ¨ oder 2002 ; Bunnell 2005 ]orconversiontopolynomialandrationalpiecewiserepres entations havebeenrealizedontheGPU[ LoopandSchaefer 2008 ; Loopetal. 2009 ; Mylesetal. 42

PAGE 43

Figure5-1.Screencaptureof ElephantsDream :141Kbi-cubicpatchesanimated, generatedandrenderedwithoutpolyhedralartifactsorpar ametricdistortion atover300fpsona1440 900pixelscreenwith8xmultisampling. 2008a ],andmicro-polygonization[ Fisheretal. 2009 ; Zhouetal. 2009 ]andpixel-accurate rendering[ Yeoetal. 2012 ]provideartifact-freeGPU-basedevaluationofsmooth surfaces.However,combiningthesetechniquestointeract ivehigh-qualityanimationhas remainedaformidablechallenge. OurapproachistousedifferentComputeShadersforpose-dep endent,view-dependent andpurerenderingpassesandtherebyavoidrepeateddatatr ansferandre-computation. Wegeneratenear-optimaltessellationfactorstoguarante esub-pixelaccuraterendering withfewevaluations.Thisallowsrenderingasubstantialn umberofanimatedsmooth surfacesinreal-timewithinteractivechangeofview-poin t.Forexample,140Kpatches ofasceneoftheopen-sourcemovie ElephantsDream ,thatusedtotake10minutes perframetorenderatFull-HDresolution[ BlenderFoundation 2006 ],renderatover300 43

PAGE 44

framespersecond(cf.theaccompanyingvideo).Alternative lyananimatorcanviewfour viewssimultaneouslywithcomputecyclestospare. Overview .InSection 5.1 wereviewthethreetechniquesthatneedtobecombined forreal-timecinematic-qualityanimation:skeletalanim ation,conversiontosmooth surfacesandtheirpixel-accuratedisplay.Section 5.2 presentsthealgorithmandits implementation.InSection 5.3 wecompareitsperformancetoSubD11,aDX11sample shadercode,anddiscusstrade-offsandalternativechoice s. 5.1ReviewoftheKeyTechniquesandLiterature Figure5-2.3Danimationprocess Thestandard3Danimationprocessconsistsofcharacterani mation,higher-order surfaceconversion,andrenderingofhigher-ordersurface s(seeFigure 5-2 ).In ourimplementationpipeline,wefocusonthemostcommonlyusedtechniquesby animators:linearskeletalanimation[ Magnenat-Thalmannetal. 1988 ]andApproximate Catmull-Clarkconversion[ LoopandSchaefer 2008 ].WeusePixel-AccurateRendering [ Yeoetal. 2012 ]ratherthanmicro-polygonizationsincewewanttomakeful luseofthe currentgraphicspipelineandAPI.5.1.1SkeletalAnimation: wR Skeletalanimation,alsocalledlinearblendskinning,line arvertexblendingor skeletalsubspacedeformationisthemostcommontechnique forcharacteranimation. Hereacharacterisdenedbyatemplatefacetedmodel,calle dskin,anditsanimation 44

PAGE 45

ordeformationisdenedbyatime-varyingsetofrigidtrans formations,calledbones, thatareorganizedintoatreestructure,calledskeleton.At time t i ,aconvexcombination w ofbonetransformations R isappliedtoeachskinvertexinitialposition v (0) : v ( t )= wR ( t ) v (0) ; (5–1) w1 = 1 ; 1 :=[1 ;:::; 1] : Theweights w areassignedbytheartist.Anyvertexpositioninalinearble ndskinis expressedasalinearcombinationofthevertextransformed byeachbone'scoordinate system. Itisunderstoodthatthedirectlinearcombinationofrotat ionmatricesgenerically doesnotyieldavalidrotationandanumberofimprovementha vebeensuggested [ CordierandMagnenat-Thalmann 2005 ; Kavanetal. 2008 ].Inparticulardual quaternions[ Kavanetal. 2008 ]aresufcientlysimpletohavebeenimplementedin Blender.Theartistsof ElephantsDream ,however,usedlinearskeletalskinning.Our frameworkisagnostictothechoiceof wR .Itallowsalternativeanimationtechniquesto besubstituted.5.1.2SmoothSurfacesConversion: C Inrecentyearsanumberofalgorithmshavebeenderivedthat interpretpolyhedral meshesascontrolnetsofsmoothsurfacesandcanconvertmes hestocoefcients ontheGPU[ Loopetal. 2009 ; Mylesetal. 2008a ; Yeoetal. 2009 ].Approximate Catmull-Clark(ACC)iswidelydistributedsinceashaderco de,SubD11,isavailable online[ MicroSoft 2008 ].ACCisavariantofthepopularPNtrianglesalgorithm [ Vlachosetal. 2001 ]andconstructs,intensor-productB ezierform,abi-cubicpatchand apairoftangentpatchesforeachfaceofthecontrolmesh[ LoopandSchaefer 2008 ] (cf.Figure 5-3 ).ACCrequiresaninputmeshconsistingentirelyofquadril ateralfacets.If ameshcontainsotherfacetsacommonremedyistosplitthefa cetsintoquadrilaterals byoneinitialstepofCatmull-Clarksubdivision,atthecos tofapproximatelyquadrupling 45

PAGE 46

thenumberoffacets.Thebi-cubicpatchesoutputbyACCdono talwaysjoinsmoothly butthetangenteldiscarefullyconstructedtogivethevis ualillusionthereof.Our frameworkisagnostictothechoiceof C .Alternative,trulysmoothconstructions,such as[ Yeoetal. 2009 ],canbesubstituted.Commonlyusedconversionsgeneraten ew points,calledcoefcientshereafter,asconvexcombinati onsoftheoriginalvertices v of thefacetedmesh.Thatis, C1 = 1 ; C ij 0 ; (5–2) i.e.therepresentationsareafne-invariantandhavethec onvex-hullproperty. Figure5-3.SubD11modelconsistingof3,749ACCpatchesand1 50,108triangles.The screeniscapturedat1440x900resolution. 5.1.3Pixel-AccurateRendering: E Oneofthekeychallengeswhenworkingwithasmoothsurfacei stosetitslevel ofdetail.Thedetailhastobesufcientlyhightopreventpo lyhedralartifactsand parametricdistortionsandsufcientlylowtosupportfast rendering.Inthegraphics 46

PAGE 47

pipeline,thelevelofdetailisdeterminedbythetessellat ionfactor ofeachpatch p :( u;v ) 2 U R 3 ofthesmoothsurface.In3Dmovieanimation,itiscommonpra ctice toovertessellateandshadeaveryhighnumberoffragments. Real-timeanimation cannotaffordthissinceeachfragmentisevaluated,raster izedandshaded.Since thecameraisisfreetozoominoroutofthescene,noxedleve loftessellationcan avoidfaceteddisplayorovertessellation.Thisdisquali esapproacheslikeSubD11 thatrequiresetting apriori(anduniformlyforallpatches).Figure 5-3 showshow toolowa resultsinpolyhedralartifacts(attheshoulderandneck), whilesettingit everywherehigh,toremovetheseartifacts,decreasesthef ramespersecondbyan orderofmagnitude. Arecentsolutiontothechallengeofautomaticallysetting thetessellationforeach patchontheGPUispixel-accuraterendering[ Yeoetal. 2012 ].Pixel-accuraterendering determinesthetessellationdensitytoguaranteecorrectv isibility,preventparametric distortionandpixel-dropout(seeSection3of[ Yeoetal. 2012 ]foraformaldenition ofpixel-accuracy).Importantly,forouruse,pixel-accur aterenderingworksinthe interactivesettingoncurrentgraphicspipelines.Theest ablishedalternative,usedin3D movieanimation,ismicro-polygonization.Micro-polygon izationowesitsprominenceto theReyesrenderingframework[ Cooketal. 1987 ].Sincecanonicalimplementations ofmicro-polygonizationarerecursive,micro-polygoniza tionishardtointegratewith currentgraphicspipelines[ Fatahalianetal. 2010 ].EvenonmultipleGPUs,thereis atrade-offbetweenreal-timeperformanceandrenderingqu ality[ Zhouetal. 2009 ]. Micro-polygonizationaimstotessellatethedomain U ofapatchinto ( u;v ) trianglesso thatthescreenprojectionoftheirimagetrianglesislesst hanhalfapixel.Bycontrast, pixel-accuraterenderingaimsatminimallypartitioningt hepatches,justenoughso thatthedifference,underprojection,betweenthetriangu latedsurfaceandthetrue non-linearsurfaceislessthanhalfapixel.Thatis,anydis crepancybetweenthe 47

PAGE 48

displayedtriangulatedsurfaceandtheexactscreenimagei sbelowthevisiblepixel threshold. Evaluation E forpixel-accuraterenderingconsistsof E 4 ,thestandardevaluation andtriangulationandrendering,andthegeometry-depende ntsettingofthetessellation factor E .Sincethecostof E 4 issetbythedesigner'schoiceofsmoothsurfaceand textures,wefocusontheestimation E of thatguaranteesaccuracy.Webreak E intointotwoparts:acomputationallyexpensivepart E 2 thatcomputescertain boundingboxesanddependsonlyonthegeometry,andasecond part E m that measuresthescreenprojectionoftheboxesonthescreen. E m reactstochangein M ( s ) ,theview,camerapositionandprojectionmatrix.Inmorede tail, E 2 makesuse ofprecomputedoptimalenclosures,calledslefes,totight lysandwichsmoothsurfaces betweenpiecewiselinearapproximationswhoseoptimaluni formsamplingistobe determined,while E m setsthetessellationfactor andcommunicatesittoneighbor patches.Thiscommunicationiscrucialtopreventpixeldro poutwhentessellationfactors aresetadaptively,asisnecessarytoachieveaccuracyefc iently.Figure 5-4 showshow independentsettingresultsincracksalongthepatchbound aries.Patchesoutsidethe viewingfrustumreceiveatessellationfactor =0 topreventtheirfurtherprocessing [ Yeoetal. 2012 ,Section6]. A B Figure5-4.Water-tightness.A)Cracksandpixeldropoutwhe ntheDX11boundary tessellationfactorsaresetindependentlyforadjacentpa tches.B) pixel-accuraterendering(cf.Figure 5-6 B). 48

PAGE 49

animation t changed? viewing s changed? update No No Yes Yes E 4 :evaluate,render p update E 2 animatedsmoothsurface p t Figure5-5.Updatingestimates E 2 andthetessellationfactors isonlyrequiredwhen theinputmeshisanimatedortheviewischanged. 5.2AlgorithmandImplementation ToavoidrepeateddatatransfertotheGPU,repeatedcomputat ionofunchanged dataandtorenderwithsub-pixelaccuracy,weorganizeanim ationandevaluationas follows(cf.Figure 5-6 B). Animationandestimatesareexecutedseparatelyfrom E 4 ,therenderingthe animatedsmoothsurface p t ; p t (andthetessellationfactors )aresavedintheGPU bufferfortheindependentrenderingpass.Thisallowscomp utingonlyexactlythe componentsoftheanimationandestimationthatrequireupd ating.Therearethree cases(seeFigure 5-5 ): (a)Ifthescenedoesnotchangeinvieworpose,i.e.neithera n s -eventnora t -event occurs,thenthestoredanimatedsmoothsurface p t isrenderedwiththeexisting tessellationfactors. (b)Foreachviewchangethatisnotananimationstep, M ( s ) isappliedtothesaved p t and E m updatesthetessellationfactors thatguaranteepixel-accuracyforthe newviewpoint.Then(a)isexecuted. (c)Foreachanimationstep t thecoefcientsoftheanimatedsmoothsurface p t are computedbyexecuting CwR ( t ) v .Thecoefcientsof p t arestoredintheGPU buffer.Thenthegeometry-dependentestimates E 2 arere-computedandstored andthesamecomputationsasin(b)areexecuted. 49

PAGE 50

skeletalanimation GPUbuffer: b ,animationdata, global ,camera,materials skeletalanimation,conversion gridgeneration conversion TE DSPS CS(orPS) update VSHS evaluationshading SubD11 A B TE DSPS gridgenerationevaluationshading VS lookup HS GPUbuffer: b ,animationdata, p t E 2 E m ,camera,materials new t new s else CS(orPS) Figure5-6.MappingoflinearskeletalanimationtotheDX11g raphicspipeline. CS=ComputeShader,VS=VertexShader,HS=HullShader,TE=Tessellat ion Engine,DS=DomainShader,PS=PixelShader.A)TheDX11sampleshaderimplementationofACC[ MicroSoft 2008 ].B)Ourimplementation guaranteeingpixel-accuraterenderingofsmoothsurfaces ThebasicanimationandconversionisidenticaltothatinSub D11,i.e.verticesare animatedandtheconversionaccessesa1-ringneighborhood ofeachquadrilateralvia anindexlisttobuildthepatchcoefcients.However,weani mateandconvertinthe ComputeShaderratherthantheVertexShaderandHullShader.On eside-effectisthat weuseanindexedlistratherthanaxed-sizearraywhenacce ssingneighbors.TheHull ShaderlimitationonprimitivesinSubD11constrainsthevert exvalence,i.e.thenumber ofpointsthatcanbeaccessedtoconstructtheACCpatches.T hismattersin Proog and Emo scenewhichhas256verticesofvalence32. Thecomputingofadaptivetessellationfactors issplitintothegeometry-dependent estimations E 2 andtheview-dependentestimations E .Weavoidunnecessarily recomputing E 2 byre-organizing E 4 E E 2 M ( s ) E 4 E M ( s ) E 2 : (5–3) Eachrenderingpassexecutesthetriangulation E 4 50

PAGE 51

5.3Discussion WeusedanNVidiaGeForceGTX580graphicscardandwithIntelC ore2Quad CPUQ9450at2.66GHzwith4GBmemorytorender291animatedfra mesfromthe open-sourcemovie ElephantsDream ElephantsDream runsfor10minutesandis reportedtohavetaken125daystorender,consumingupto2.8 GBofmemoryfor eachframeinFull-HDresolution(1920 1080)[ BlenderFoundation 2006 ].Thatis, eachframetookontheorderof10minutestorender.Thechara cters Proog and Emo have,duetosplittingofallfacets,consistof140,964smoo thsurfacepatches.Inour implementation,theyrenderatover300framespersecond(f ps)withfullpixel-accuracy. Figure 5-7 showsscreenshotsoftheattachedvideo,arrangedas4views thatcanalso berenderedsimultaneouslyatca.90framespersecond.Weal sorendered Proog and Emo usingavariantofACCfortriangularfacetstoavoidthespli tting.For32Kquads and350triangles,theimplementationyields380fpswhenan imatingeveryframeand 1100fpswhenanimatingattheusual33framespersecond.For comparison,the SubD11demosceneinFigure 5-3 has4KquadrilateralsandtheSubD11[ MicroSoft 2008 ]fpsvarieswiththeuser-settessellationfactorTF(seeup perleftofFigure 5-3 ) between250and23fps. Figure 5-6 juxtaposestheexecutionpipelineofouralgorithmandSubD1 1.SubD11 executesinonepassandthereforeappearstobemoreefcien t(cf.Figure 5-6 a). However,SubD11doesnotsupportinteractiveadaptivetesse llation(withoutcracks) andmustre-executeanimationandconversionstepsevenwhe nnovieworpose changeoccur.InSubD11,theVertexShader(VS)andHullShader(HS) bearthebulk oftheworkandVSanimationandHSconversionaresynchronize dbytheindexbuffer mechanismtopreventconversionbeforeeveryvertexofasur facepatchisanimated. Inourapproachthemainwork,apartfromrendering,isexecu tedinaComputeShader (CS)pass.Thisnaturallydeliverstheglobalsynchronizati onnecessaryforinteractive 51

PAGE 52

GPU-basedadaptivetessellationwithoutcracks.Byexecutin gtheappropriatetypeof theCS,recomputationisavoided.Table5-1.Performanceinframespersecondwhenplacing wR E 2 and E m ontotheCS orPSor wR onlyontheVS.Animationupdatetime= t AnimUpdates/Sec CS PS VS 33 311 184 253 everyframe 130 53 75 Weexploredtwooptionsforhostinganimationand computation(seeTable 5-1 ). TherstoptionistotriggerthePSinaseparatepass,theothe ristousetheCS.For largedatasets,ourCSimplementationismoreefcientsinc eitoffersmoreparallelism: wecanuse16threadsperpatchratherthanoneperpatchonthe PS.TheHullShader isnotonlylessefcientbutcannotprovidethenecessaryco mmunicationofadaptive tessellationfactorstoneighborpatches.Therightmostco lumnVS ofTable 5-1 shows thatjustexecutingtheanimationintheVertexShaderisalre adyslowerthanexecuting animationandconversionintheCS.Thisgoessomewaytoexpl ainwhyourcodeis considerablyfasterthanSubD11,eventhoughitguaranteess ub-pixelaccuracy. 5.4Conclusion Weseparatedanimation,skinningandcinematicqualityren deringof3Dcharacters withsmoothsurfacesaccordingtoanimation-dependenttra nsformations R ( t ) and view-timedependentcameramotions M ( s ) .Wetestedtheframeworkbyrendering scenesofthemovie ElephantsDream at10 real-time,leavingenoughslackforlarger datasets,complexpixelshadersandtheartists'otherwork .Interactiveresponsewith highvisualqualitywillalsobeusefulforinteractiveCAD/C AMdesignandprovidehigh qualityvisualsinsurgicalsimulation. 52

PAGE 53

Figure5-7.Twoframesofascenefrom ElephantsDream ,viewedfromfourdifferent view-pointseach. Proog and Emo (140,964smoothsurfacepatches)render pixel-accuratelyatover300framespersecondona1440 900pixelscreen. 53

PAGE 54

CHAPTER6 PINCHED-QUADCONVERSION Artistsbuildingpolyhedralmodelstrytomostlyusequadril aterals,aligningthem withcurvaturelinesalongtheedges.Butmodelingacomplexo bjectsolelywith quadrilateralsrequirescarefulattentiontotheglobalto pology.Typically,therefore, themodelsretainsomeisolatedtriangles.Forexample,the original Proog and Emo meshesconsistof32,118(97.8%)quadrilateralsand886(2. 7%)triangles.Thetriangles arelocatedaroundthecenteroftheeyesandaboveeyebrows( seeFigure 6-1 ). Thereexistseveralapproachestoconverttrianglestothre e-sidedpatches: ConvertingthetriangletoatriangularB ezierpatch. Replacingthetrianglebythreequadrilaterals,byapplyin gCatmull-Clark(CC) subdivision. ConvertingthetriangleintoapinchedB ezierquadpatch. Thereareseveralschemescapableofconvertingatrianglet oatriangularpatch. [ Mylesetal. 2008b ]convertsapolartriangletoabicubicpatchwithasingular edge, whichconsistsof13coefcients.Forothercases,itconver tstoa P m -patchwith19 controlpoints.[ Loopetal. 2009 ]convertsatriangletoa3sidedGregorypatchwith15 controlpoints.Alsowecanconvertatriangleinto3degree3t riangularB ezierpatches. Alloftheseschemesrequireaseparatepassandhenceanoverh eadthatweshould avoidinreal-timerendering. Thesecondapproachistoreplacetriangleswiththreequadr ilateralsbyapplying onestepofCCsubdivisiontothequad-dominantmesh.This,h owever,quadruplesthe numberofpatcheseverywhereelseandthereforeincreasest heamountofcomputation fourfold.Forexample,onestepofCCsubdivisionturnsthe Proog and Emo modelsin apurelyquadrilateralmeshwith131Kfacets.Thisaffectsb othmemoryrequirements andCPU-GPUtransfer.Inthischapterweproposeasimplealter nativetechniquefor convertingatriangleintoapinchedB ezierquadpatch. 54

PAGE 55

Onewaytoconvertquadrilateralsintosmoothsurfaceisvia theApproximating Catmull-Clarktechnique[ LoopandSchaefer 2008 ]explainedinthefollowingsection. Figure6-1.Isolatedtriangles(coloredingoldaroundthec enterofeyesandabove eyebrows)inanotherwisequadrilateralsurfacemesh. 6.1ApproximatingCatmull-ClarkAlgorithm Figure6-2.ExamplesofACCconversionfromA)quadmeshtoB)smo othsurface. 55

PAGE 56

TheApproximatingCatmull-Clarkalgorithm(ACC)isanalgor ithmforconverting apolyhedralmeshintoasmoothsurface.Alternativesare[ FanandPeters 2008 ; Loopetal. 2009 ; Mylesetal. 2008a ; Yeoetal. 2009 ],butACCiswidelydistributed becauseofitsavailabilityasapartofDirectX10distribut ion.Ourdiscussionof animationinChapter 5 usedtheACCtechnique. TheACCconstructsageometrypatchandapairoftangentpatc hesforeach quadrilateralfaceofthecontrolmesh[ LoopandSchaefer 2008 ].Thegeometry patchesapproximatetheshapeandsilhouetteoftheCatmull -Clarksurfaceandare smootheverywhereexceptalongpatchboundariescontainin ganextraordinaryvertex wherepatchesjoinC 0 .Tomakethepatchappearsmooth,apairoftangentpatches approximatethetangenteldsoftheCatmull-Clarksurface .TheresultsoftheACC conversionappearsmoothasshowninFigure 6-2 2 2 n 1 4 11 2 n 22 1 1 1 1 4 44 44 n 2 interior edge corner A BC Figure6-3.ACCstencilsforthebicubicgeometrypatch.A)In teriorpoints.B)Edge points.C)Cornerpoints. TheACCgeometrypatchconstructionisageneralizationofBsplineknotinsertion. Ifallfourverticesofaquadrilateralhavevalence4,thent heconstructionreproducesthe standarduniformB-splinepatchinB ezierform.Figure 6-3 sketcheshowtoconverta quadrilateralfaceintoabi-cubicpatch.Therearethreety pesofstencils:oneforinterior points(Figure 6-3 A),oneforedgepoints(Figure 6-3 B),andoneforcornerpoints (Figure 6-3 C). 56

PAGE 57

Whileserviceable,amajorlimitationoftheACCisthatitcan onlybeappliedto quadrilaterals. 6.2Pinched-QuadACC WeproposetoaugmenttheACCpatcheswithanew,pinched-qua drepresentation wherethemeshhastriangles.Thesimpleideaistotreatonev ertexasifitwerea collapsededgeintoacornerpoint.Thatmeansfourofthecub ictensor-productcontrol pointsononeboundaryaremadetosharethesamelocation(Fi gure 6-4 ).Additionally, tomimicthebarycentriclayoutoftotaldegreepatches,two interiorpointsaboveare mergedasshownintheFigure 6-4 Right. interior edge corner Figure6-4.Pinched-quadrepresentationofatrianglepatch Thechallengeistondsimplestencilsforthecoefcientsi nFigure 6-4 sothat theresultingsurfacequalityandsmoothnessareacceptabl e.Anaturalapproachis tomergecorrespondingACCstencilswhereverwechooseaned getobecollapsed. Figure 6-5 illustratesfourtypesofcollapsedACCstencilsjustforon einteriorpoint.The twovaluesonthecollapsededgearesummed.However,thisap proachhassignicant shortcomings.Theresulttypicallyexhibitsbulgingdueto summationofstencilvalues. Also,sincestencilsarenotsymmetric,wehavetostoreandse lectvarioustypesof stencils.Stencilsforedgeandcornerpointsbecomeevenmor ecomplicated. Therefore,wedeviseanewclassofsymmetricstencilsthatm imicACCstencils andthatapplytotriangles.Theideaistodistributestenci lvalueswherethemeshis collapsed.Forexample,theACCstencilforaninteriorpoin tis n; 2 ; 2 ; 1 .Forapinched 57

PAGE 58

2 2 n 1 2 n 3 2 1 n +2 2 1 n +2 2 n 3 Figure6-5.PinchedACCstencilsforaninteriorpoint.patch,wedistributethevalue 1 totwoadjacentpointssothatthenalsymmetricstencil is n; 2 : 5 ; 2 : 5 (Figure 6-6 A).Therearetwotypesofedgestencils,oneforjoiningtrian gle toquadandonefortriangletotriangle.TheseareshowninFi gure 6-6 Bandare againconstructedbythedistributingapproach.Finally,i nFigure 6-6 C,weshowcase generalizedcornerstencilsdependingonthepatternofinc identfacets.Wedistribute stencilvaluesofcollapsedpointstoadjacentpoints.Ifac ornerpointissurroundedonly bytriangles,thestencilis n 2 ; 5 ; 5 ;:::; 5 6.3Assessment Thepinched-quadrepresentationhasshortcomings:asymme tryisunavoidable duetothechoiceofthecollapsededge(seeFigure 6-7 ).Also,weneedtobecarefulto assigntriangletexturedomains. Theseshortcomingsarebalancedbyseveraladvantages. AvoidingthequadruplingoffacetsduetoCCsubdivision,wh enanysingletriangle appearsinamesh. SimpleandsymmetricstencilsenableasimpleGPUimplementat ion. 58

PAGE 59

interior edge corner n 2 : 5 2 : 5 2 : 52 1 4 : 5 2 n 2 : 5 5 2 n 2 : 5 4 4 : 54 : 5 1 1 n 2 1 5 n 2 54 : 5 4 4 : 54 A BC Figure6-6.Generalizedstencilsforthetriangles.A)Inter iorpoints.B)Edgepoints.C) Cornerpoints. Pinched-quadscanbeintegratedintoonepasswiththestanda rdACCconversion. Figure 6-8 showspinched-quadpatchesforatetrahedron,apointedcub eanda slicedcubewithtriangles(coloredingold).Thepinched-q uadpatchesappeartojoin smoothlyacrosstheboundaries. Allowingtrianglesinaninputmesh,wecanmakeanextra-ordi naryvertexof valence3intoanordinaryvertexbysplittinganincidentqu adintotwotriangles.Figure 6-9 B)showshowtotransformacubeintoameshofvalence4vertice s.Tangent patchesarenolongerrequiredtoimprovethereections. Wetestedpinched-quadconversiononthereal-timeanimati onof Proog and Emo (seeFigure 6-10 ).Theperformanceincreasedfrom300fpstomorethan1000fp s duetothereductionbyca1/4thinthenumberofpatches. Wecanadditionallyextendstencilstochangeappearance.F igure 6-11 introduces an parameter.Thedefaultsettingis =2 : 5 .AsshowninFigure 6-12 ,small parameterstendtokeepthesurfaceclosetotheshapeofthei nputmesh. 59

PAGE 60

Figure6-7.Asymmetryduetothechoiceofthecollapsededge( left,top,andright edgesareselectedrespectively). 60

PAGE 61

Figure6-8.Pinched-quadconversionofatetrahedron,apoin tedcube,andasliced cube. 61

PAGE 62

Figure6-9.ACCconversionofthreemodels.A)Cube.B)Cubewit htrianglesonthetop andbottom.C)OnestepofCatmull-Clarksubdivisionapplie donB) 62

PAGE 63

Figure6-10.Pinched-quadconversionof Proog and Emo 63

PAGE 64

interior edge corner n 2 1 2+ 2 n 2 2 n 4 2+ 2+ 1 1 n 2 1 2 n 2 2 2+ 4 2+ 4 interiorpointsedgepointscornerpoints Figure6-11.Stencilsparameterizedby 64

PAGE 65

Figure6-12.Resultsofapplyingdifferentstencils. 65

PAGE 66

CHAPTER7 CONCLUSION Inconclusion,thisdissertationisrstindeningpixelac curacyandderivingan algorithmforsettingtheevaluationdensityforhigher-or dersurfacesjustnelyenough sothattheresultingtriangulationyieldsapixel-accurat edisplayinthestandardgraphics pipeline.Thealgorithmisuniqueinthatitguaranteespixe laccuracy,whileearlier methodsusedagenerate-and-teststrategytoenforcemicro -polygonization.The thesisfurtherproposedanapproachtoreal-timeskeletala nimationofhigher-order surfacesusingDirectX11graphicshardware.Theideaistos plitanimation,conversion tohigher-ordersurfacesandtheirevaluationforrenderin gintopose-dependent, view-dependentandpurerenderingpasses.Thenalcontrib utionofthethesisisto extendtheACCtechniquetohandletriangularmeshfacetswh enmodelingsmooth surfaces.Allthreecontributionsadvancereal-timemovieq ualityrendering. 66

PAGE 67

REFERENCES B IN ,L.,G OEL ,V., AND P ETERS ,J.2010.Directx11reyesrendering.In ProcGraVisMa, ComputerGraphics,ComputerVisionandMathematics,2010 ,V.SkalaandE.Hitzer, Eds.1–6. B LENDER F OUNDATION .2006.Elephantsdream. http://orange.blender.org B LIZZARD E NTERTAINMENT .2011.Worldofwarcraft. http://www.blizzard.com B OLZ ,J. AND S CHR ¨ ODER ,P.2002.RapidevaluationofCatmull-Clarksubdivision surfaces.In Web3D'02:Proceedingoftheseventhinternationalconferen ceon3D Webtechnology .ACMPress,NewYork,NY,USA,11–17. B UNNELL ,M.2005. GPUGems2:ProgrammingTechniquesforHigh-Performance GraphicsandGeneral-PurposeComputation .Addison-Wesley,Reading,MA,Chapter 7.AdaptiveTessellationofSubdivisionSurfaceswithDisplac ementMapping. C OOK ,R.L.,C ARPENTER ,L., AND C ATMULL ,E.1987.TheReyesimagerendering architecture.In ComputerGraphics(SIGGRAPH'87Proceedings) ,M.C.Stone,Ed. 95–102. C ORDIER ,F. AND M AGNENAT -T HALMANN ,N.2005.Adata-drivenapproachforreal-time clothessimulation. ComputerGraphicsForum24, 2,173–183. D ASSAULT S YSTEMS .2011.Solidworks3dcadsoftware. http://www.solidworks.com E ISENACHER ,C. AND L OOP ,C.2010.Data-parallelmicropolygonrasterization.In Eurographics2010Annex:ShortPapers ,S.SeipelandH.Lensch,Eds. F AN ,J. AND P ETERS ,J.2008.Onsmoothbicubicsurfacesfromquadmeshes.In Proceedingsofthe4thInternationalSymposiumonAdvancesinVi sualComputing ISVC'08.Springer-Verlag,Berlin,Heidelberg,87–96. F ATAHALIAN ,K.,B OULOS ,S.,H EGARTY ,J.,A KELEY ,K.,M ARK ,W.R.,M ORETON ,H., AND H ANRAHAN ,P.2010.Reducingshadingongpususingquad-fragmentmerg ing. In ACMTrans.Graphics,29(3),2010(Proc.ACMSIGGRAPH2010) .Vol.29.67:1–8. F ATAHALIAN ,K.,L UONG ,E.,B OULOS ,S.,A KELEY ,K.,M ARK ,W.R., AND H ANRAHAN P.2009.Data-parallelrasterizationofmicropolygonswit hdefocusandmotionblur.In HPG'09:ProcHighPerformanceGraphics2009 .ACM,NewYork,NY,USA,59–68. F ISHER ,M.,F ATAHALIAN ,K.,B OULOS ,S.,A KELEY ,K.,M ARK ,W.R., AND H ANRAHAN P.2009.DiagSplit:parallel,crack-free,adaptivetessell ationformicropolygon rendering. ACMTransactionsonGraphics28, 5(Dec.),1–8. G EE ,K.2008.Introductiontothedirect3d11graphicspipeline .InNVISION08,2008. H ELD ,R.,C OOPER ,E.,O'B RIEN ,J., AND B ANKS ,M.2010.Usingblurtoaffect perceiveddistanceandsize.In ACMTrans.Graphics .Vol.29.19:1–16. 67

PAGE 68

H OU ,Q.,Q IN ,H.,L I ,W.,G UO ,B., AND Z HOU ,K.2010.Micropolygonraytracingwith defocusandmotionblur.In ACMTrans.Grap(Proc.ACMSIGGRAPH2010) .Vol.29. 64:1–10. J OSHI ,P.,M EYER ,M.,D E R OSE ,T.,G REEN ,B., AND S ANOCKI ,T.2007.Harmonic coordinatesforcharacterarticulation. ACMTrans.Graph26, 3,71. J U ,T.,S CHAEFER ,S., AND W ARREN ,J.D.2005.Meanvaluecoordinatesforclosed triangularmeshes. ACMTrans.Graph24, 3,561–566. K AVAN ,L.,C OLLINS ,S., Z ARA ,J., AND O'S ULLIVAN ,C.2008.Geometricskinningwith approximatedualquaternionblending. ACMTrans.Graph.27 ,105:1–105:23. L EE ,S.,E ISEMANN ,E., AND S EIDEL ,H.-P.2010.Real-timelensblureffectsandfocus control.In ACMTrans.Graphics(Proc.ACMSIGGRAPH2010) .Vol.29.65:1–7. L IPMAN ,Y.,L EVIN ,D., AND C OHEN -O R ,D.2008.GreenCoordinates. ACMTransactionsonGraphics27, 3(Aug.),78:1–. L OOP ,C.T. AND S CHAEFER ,S.2008.ApproximatingCatmull-Clarksubdivision surfaceswithbicubicpatches. ACMTrans.Graph27, 1. L OOP ,C.T.,S CHAEFER ,S.,N I ,T., AND C ASTA NO ,I.2009.Approximatingsubdivision surfaceswithgregorypatchesforhardwaretessellation. ACMTrans.Graph28, 5. L UTTERKORT ,D.2000.Envelopesofnonlineargeometry.Ph.D.thesis,Purdu e University. M AGNENAT -T HALMANN ,N.,L APERRI ERE ,R., AND T HALMANN ,D.1988. Joint–dependentlocaldeformationsforhandanimationand objectgrasping.In GraphicsInterface'88 .26–33. M ICRO S OFT .2008.Subd11sample(direct3d11). technet.microsoft.com/en-us/query/ee416576 M ICROSOFT .2011.Tessellationoverview. http://msdn.microsoft.com/ M YLES ,A.2006. C 2 surfaceconstructionforpolarmeshstructure.PhD'sDisser tation Proposal,CISEDepartment,UniversityofFlorida. M YLES ,A.,N I ,T., AND P ETERS ,J.2008a.Fastparallelconstructionofsmoothsurfaces frommesheswithtri/quad/pentfacets. ComputerGraphicsForum27, 5,1365–1372. M YLES ,A.,N I ,T., AND P ETERS ,J.2008b.Fastparallelconstructionofsmoothsurfaces frommesheswithtri/quad/pentfacets. Comput.Graph.Forum27, 5,1365–1372. N I ,T.,C ASTA NO ,I.,P ETERS ,J.,M ITCHELL ,J.,S CHNEIDER ,P., AND V ERMA ,V.2009. Efcientsubstitutesforsubdivisionsurfaces.In ACMSIGGRAPH2009Courses SIGGRAPH'09.ACM,NewYork,NY,USA,13:1–13:107. 68

PAGE 69

P ARKER ,S.G.,B IGLER ,J.,D IETRICH ,A.,F RIEDRICH ,H.,H OBEROCK ,J.,L UEBKE ,D., M C A LLISTER ,D.,M C G UIRE ,M.,M ORLEY ,K.,R OBISON ,A., AND S TICH ,M.2010. OptiX:ageneralpurposeraytracingengine. ACMTransactionsonGraphics29, 4 (July),66:1–66:13. P ATNEY ,A. AND O WENS ,J.D.2008.Real-timeReyes-styleadaptivesurface subdivision. ACMTrans.Graph27, 5,143. P ETERS ,J.2004.Mid-structuresofsubdividablelinearefcientf unctionenclosures linkingcurvedandlineargeometry.In ProceedingsofSIAMconference,Seattle,Nov 2003 ,M.LucianandM.Neamtu,Eds.Nashboro. P ETERS ,J. AND W U ,X.2004.Slevesforplanarsplinecurves. ComputerAided GeometricDesign21 ,615–635. P RAUTZSCH ,H.,B OEHM ,W., AND P ALUSZNY ,M.2002. BezierandB-SplineTechniques .Springer-VerlagNewYork,Inc.,Secaucus,NJ,USA. R ENDER M AN .2005.Pixarrendermaninterfacev3.2. http://www.renderman.org AccessedJanuary2011. S URF L AB U. OF F LORIDA .2011.Toolkitforillustrationofproceduresinsurgery. http://www.cise.ufl.edu/research/SurfLab/TIPS T ATARINOV ,A.2010.Reyesusingdirectx11.In ACMSIGGRAPH2010Talks SIGGRAPH'10.ACM,NewYork,NY,USA,34:1–34:1. T ZENG ,S.,P ATNEY ,A., AND O WENS ,J.D.2010.Taskmanagementfor irregular-parallelworkloadsontheGPU.In HighPerf.Gr. ,J.Hensleyandetal., Eds.ACM,29–37. V LACHOS ,A.,P ETERS ,J.,B OYD ,C., AND M ITCHELL ,J.L.2001.CurvedPNtriangles. In 2001,SymposiumonInteractive3DGraphics .Bi-AnnualConferenceSeries.ACM Press,159–166. W U ,X. AND P ETERS ,J.2002.Sublime(subdividablelinearmaximum-normenclos ure) package. http://surflab.cise.ufl.edu/SubLiME.tar.gz .AccessedJan2011. Y EO ,Y.I.,B IN ,L., AND P ETERS ,J.2012.Efcientpixel-accuraterenderingofcurved surfaces. Interactive3Dgraphics Y EO ,Y.I.,N I ,T.,M YLES ,A.,G OEL ,V., AND P ETERS ,J.2009.Parallelsmoothingof quadmeshes. TheVisualComputer25, 8(Aug),757–769. Z HOU ,K.,H OU ,Q.,R EN ,Z.,G ONG ,M.,S UN ,X., AND G UO ,B.2009.Renderants: interactiveReyesrenderingonGPUs. ACMTrans.Graph28, 5. Z HOU ,K.,H UANG ,X.,X U ,W.,G UO ,B., AND S HUM ,H.-Y.2007.Directmanipulationof subdivisionsurfacesonGPUs. ACMTrans.Graph26, 3. 69

PAGE 70

BIOGRAPHICALSKETCH YoungInYeowasborninDaegu,SouthKorea.HereceivedhisBach elorofScience degreefromYonseiUniversityin2003andcompletedhisMast erofSciencedegree attheKoreanAdvancedInstituteofScienceandTechnology(KAIST )in2005.His researchfocusesongeometricmodeilngandhighqualitysur facerenderinginreal-time. 70