資源描述:
《2 dx10 pipeline外語(yǔ)英文電子書(shū)》由會(huì)員上傳分享,免費(fèi)在線閱讀,更多相關(guān)內(nèi)容在教育資源-天天文庫(kù)。
1、52TheDirect3D10Pipeline(ChasBoyd):AtourthroughtheDirect3D10renderingpipelinewithadetailedreviewoftheAPIsrelatedtoeachstage.ComparisonswithexistinggraphicsAPIsarecalledouttohelpbringtheaudienceuptospeedwiththenewdesign.[60minutes]53Onceyouunderstandhowthepipelineworks,imaginethatthereare
2、manyiterationsofeachstagerunninginparallelandyouunderstandwhywe’vesegmentedthewaywehave.Inordertoallowthegraphicstobeatthebestperformanceavailable54NowI’llquicklywalkthroughthepipelinestages55Nowacoupleofnotesabouttheoverallpipeline,[click]Firstalloftheprogrammablestagesusethesamebasevi
3、rtualmachinewiththesamecapabilities,instructionset,andresourcelimitsNext,thememorymodeismuchmoreflexible.[click]Memoryobjectsincludevertexbuffers,indexbuffers,textures,etcandtheycanbewrittentoinonerenderingpassandthenattachedtootherstagesofthepipelineforanotherrenderingpass.Thisisagener
4、alizationofrender-to-texture,render-to-vertexbuffer,etc.Finally[click],wealsosupportanarrayformofthememoryobjects,forexampleahomogeneousarrayof2Dtexturemaps.Whenthesearraysareusedonthepipeline,thearrayindexescanbegeneratedbytheprogrammablestages,forexampleusingtheIDsgeneratedbytheinputa
5、ssembler.56InasimilarveinwealsorestructuredtheAPItoimproveefficiency.OnechangewemadewastogrouprelatedstateintolargerobjectssothatmorerealworkisdoneineachAPIcall.Statethatisrelatedandlikelytochangetogetherisgroupedtogether.Thisgroupingisalsointendedtoguidehardwareimplementationstooptimiz
6、ethesetypesofstateupdates.Thisproducesaslightlymoreobject-basedAPImodel.57Theendresultisthatconfiguringtheentirepipelineuses18APIcallscomparedtomorethan100inDirect3D9.We’vealsopushedasmuchvalidationintothecreationofresources,insteadofatruntime,ordrawtime,tominimizethesoftwareoverheadWhe
7、nconfiguringthepipeline.5859Atthetop,thefixed-functioninputassemblerreadsverticesandconvertsthemtoacanonicalfloatingpointrepresentationItalsogeneratesauniqueidorindexforeachvertex,primitive,andobjectinstancethatcanbeusedinotherpartsofthepipeline60InputElementDescriptordescribes