TMFreescale,theFreescalelogo,AltiVec,C-5,CodeTEST,CodeWarrior,ColdFire,C-Ware,mobileGT,PowerQUICC,StarCore,andSymphonyaretrademarksofFreescaleSemiconductor,Inc.,Reg.U.S.Pat.&Tm.Off.BeeKit,BeeStack,CoreNet,theEnergyEfficientSolutionslogo,Flexis,MXC,PlatforminaPackage,ProcessorExpert,QorIQ,QUICCEngine,SMARTMOS,TurboLinkandVortiQaaretrademarksofFreescaleSemiconductor,Inc.Allotherproductorservicenamesarethepropertyoftheirrespectiveowners.©2010FreescaleSemiconductor,Inc.OpenVGGraphicsSolutionsTutorialAugust2010HuangLorenMADSeniorSoftwareEngineer/R&DSessionIntroduction►Problemsin2DGraphic•NoexistingstandardAPI•Graphicresolutiondependant►VectorGraphic-OpenVG•IndustrystandardbyKhronosConsortium•FulfillsrequirementsofkeyapplicationsTMFreescale,theFreescalelogo,AltiVec,C-5,CodeTEST,CodeWarrior,ColdFire,C-Ware,mobileGT,PowerQUICC,StarCore,andSymphonyaretrademarksofFreescaleSemiconductor,Inc.,Reg.U.S.Pat.&Tm.Off.BeeKit,BeeStack,CoreNet,theEnergyEfficientSolutionslogo,Flexis,MXC,PlatforminaPackage,ProcessorExpert,QorIQ,QUICCEngine,SMARTMOS,TurboLinkandVortiQaaretrademarksofFreescaleSemiconductor,Inc.Allotherproductorservicenamesarethepropertyoftheirrespectiveowners.©2010FreescaleSemiconductor,Inc.•Fulfillsrequirementsofkeyapplications2SessionObjectives►Aftercompletingthissessionyouwill:•UnderstandtheuniquefeaturesofVectorgraphics•HaveanoverviewoftheOpenVGrenderingpipeline•BefamiliarwiththebasicgroupsoffunctionalityinOpenVG•UnderstandhowtoportgraphicstodifferentprocessorsTMFreescale,theFreescalelogo,AltiVec,C-5,CodeTEST,CodeWarrior,ColdFire,C-Ware,mobileGT,PowerQUICC,StarCore,andSymphonyaretrademarksofFreescaleSemiconductor,Inc.,Reg.U.S.Pat.&Tm.Off.BeeKit,BeeStack,CoreNet,theEnergyEfficientSolutionslogo,Flexis,MXC,PlatforminaPackage,ProcessorExpert,QorIQ,QUICCEngine,SMARTMOS,TurboLinkandVortiQaaretrademarksofFreescaleSemiconductor,Inc.Allotherproductorservicenamesarethepropertyoftheirrespectiveowners.©2010FreescaleSemiconductor,Inc.3Agenda►OpenVGataGlance►OpenVG•RenderingPipeline•ProgrammingModelTMFreescale,theFreescalelogo,AltiVec,C-5,CodeTEST,CodeWarrior,ColdFire,C-Ware,mobileGT,PowerQUICC,StarCore,andSymphonyaretrademarksofFreescaleSemiconductor,Inc.,Reg.U.S.Pat.&Tm.Off.BeeKit,BeeStack,CoreNet,theEnergyEfficientSolutionslogo,Flexis,MXC,PlatforminaPackage,ProcessorExpert,QorIQ,QUICCEngine,SMARTMOS,TurboLinkandVortiQaaretrademarksofFreescaleSemiconductor,Inc.Allotherproductorservicenamesarethepropertyoftheirrespectiveowners.©2010FreescaleSemiconductor,Inc.44•ProgrammingModelProblemswithExistingGraphicsPlaintexturesAliasingeffectsTextnotscalableCurvesdifficulttoimplementTMFreescale,theFreescalelogo,AltiVec,C-5,CodeTEST,CodeWarrior,ColdFire,C-Ware,mobileGT,PowerQUICC,StarCore,andSymphonyaretrademarksofFreescaleSemiconductor,Inc.,Reg.U.S.Pat.&Tm.Off.BeeKit,BeeStack,CoreNet,theEnergyEfficientSolutionslogo,Flexis,MXC,PlatforminaPackage,ProcessorExpert,QorIQ,QUICCEngine,SMARTMOS,TurboLinkandVortiQaaretrademarksofFreescaleSemiconductor,Inc.Allotherproductorservicenamesarethepropertyoftheirrespectiveowners.©2010FreescaleSemiconductor,Inc.…andslowframerateWhatAreVectorGraphics?►Vectorgraphicsaredrawnandstoredasmathematicalvectorformulae►Eachvectorandfillisassignedcolorvalue,insteadofassigningcolortoeachseparatepixel►Ablackcirclecanberepresentedas:•x=rcosθy=rsinθor:•x2+y2=r2TMFreescale,theFreescalelogo,AltiVec,C-5,CodeTEST,CodeWarrior,ColdFire,C-Ware,mobileGT,PowerQUICC,StarCore,andSymphonyaretrademarksofFreescaleSemiconductor,Inc.,Reg.U.S.Pat.&Tm.Off.BeeKit,BeeStack,CoreNet,theEnergyEfficientSolutionslogo,Flexis,MXC,PlatforminaPackage,ProcessorExpert,QorIQ,QUICCEngine,SMARTMOS,TurboLinkandVortiQaaretrademarksofFreescaleSemiconductor,Inc.Allotherproductorservicenamesarethepropertyoftheirrespectiveowners.©2010FreescaleSemiconductor,Inc.•x2+y2=r2•Withcolorvalue0000forblack►Benefits•Infinitelyzoomable•Independentofscreenresolution•SavesdatamemoryWhereAreVectorGraphicsUsed?►GraphicDesign•e.g.,Adobe™Photoshop,Illustrator,Flash►VectorGraphicsLanguages•e.g.,SVG,VML,Postscript►WorldWideWebTMFreescale,theFreescalelogo,AltiVec,C-5,CodeTEST,CodeWarrior,ColdFire,C-Ware,mobileGT,PowerQUICC,StarCore,andSymphonyaretrademarksofFreescaleSemiconductor,Inc.,Reg.U.S.Pat.&Tm.Off.BeeKit,BeeStack,CoreNet,theEnergyEfficientSolutionslogo,Flexis,MXC,PlatforminaPackage,ProcessorExpert,QorIQ,QUICCEngine,SMARTMOS,TurboLinkandVortiQaaretrademarksofFreescaleSemiconductor,Inc.Allotherproductorservicenamesarethepropertyoftheirrespectiveowners.©2010FreescaleSemiconductor,Inc.►WorldWideWeb•Mostwebcontentusesvectorgraphics•MostwebbrowsersrenderSVGcontentdirectly►VectorGraphicsLibraries•e.g.,CairousedbyGTK+,Mozilla,Webkit,etc.OpenVGFeatures►DesignPhilosophy•ExpandstheOpenGLprogrammingmodelto2Dvectorgraphics•Providesalow-levelhardwareaccelerationabstractionlayer•UsesOpenGL-stylesyntaxwherepossible•AllowsflexibilityinthewayaccelerationcanbeprovidedTMFreescale,theFreescalelogo,AltiVec,C-5,CodeTEST,CodeWarrior,ColdFire,C-Ware,mobileGT,PowerQUICC,StarCore,andSymphonyare