您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > 实时图形架构-GPU渲染管线
1TheGraphicsPipelineCS448Lecture2KurtAkeley,PatHanrahan,Fall2001Topics1.Defininggraphicsarchitectures2.Thegraphicspipeline3.Computationandbandwidthrequirements2CS448Lecture2KurtAkeley,PatHanrahan,Fall2001PapersRequired1.ThedesignoftheOpenGLgraphicsinterface,M.SegalandK.AkeleyOptional1.TheOpenGLSpecification,M.SegalandK.AkeleyBothpaperswillbeavailablefromcoursewebsite:(What,notHow)DescribethesceneForexample:virtualcameraSystemsRenderManscenedescriptionInventorandPerformerscenegraphsImperative(How,notWhat)EmitasequenceofdrawingcommandsForexample:loadmodel-viewmatrixSystemsOpenGLPostScriptandXlib3CS448Lecture2KurtAkeley,PatHanrahan,Fall2001DrawingCommandsglBegin(GL_POLYGON);glColor(RED);glVertex3i(0,0,0);glVertex3i(1,0,0);glVertex3i(0,1,0);glEnd()glBegin(GL_POLYGON);glColor(RED);glVertex3i(0,0,0);glColor(BLUE);glVertex3i(1,0,0);glColor(BLUE);glVertex3i(0,1,0);glEnd()CS448Lecture2KurtAkeley,PatHanrahan,Fall2001OpenGLArchitecturePoint,Line,PolygonRasterizationUnpackPixelsPackPixelsPixelOperationsImageRasterizationTextureMemoryFragmentOperationsUnpackVertexesVertexOperationsFrameBufferImageGeometry4CS448Lecture2KurtAkeley,PatHanrahan,Fall2001CS448Lecture2KurtAkeley,PatHanrahan,Fall2001API=ISAVLIW-likeinstructionsSpecifyoperationsMultiplefunctionalunitsOrthogonaloperationsSpecifydatapathsCompositionofoperations5CS448Lecture2KurtAkeley,PatHanrahan,Fall2001ISASpecificationInvarianceDoesNOTpreciselydefinedrawingcommandsForexample:DoesnotspecifywhatpixelsareinsideatriangleDoesnotspecifytheprecisionofintermediatecalculationsImagedrawnbytwosystemsmaydifferDoesrequireinvarianceacrossmodesImagedrawnintwomodesmustbethe“same”CS448Lecture2KurtAkeley,PatHanrahan,Fall2001ModernGraphicsPipelineApplicationGeometryRasterizationTextureFragmentDisplayCommandForward-AlgorithmAtripdownthegraphicspipeline6CS448Lecture2KurtAkeley,PatHanrahan,Fall2001ApplicationSimulationInputeventhandlersModifydatastructuresDatabasetraversalPrimitivegenerationUtilityfunctionsCS448Lecture2KurtAkeley,PatHanrahan,Fall2001CommandCommandbufferingCommandinterpretationUnpackandperformformatconversionMaintaingraphicsstateglBegin(GL_TRIANGLE_STRIP);glColor3f(0.0,0.5,0.0);glVertex3f(0.0,0.0,0.0);glColor3f(0.5,0.0,0.0);glVertex3f(1.0,0.0,0.0);glColor3f(0.0,0.5,0.0);glVertex3f(0.0,1.0,0.0);glMultMatrix(T);ColorTransformationmatrixITglLoadIdentity();glColor3f(0.5,0.0,0.0);glVertex3f(1.0,1.0,0.0);…glEnd();7CS448Lecture2KurtAkeley,PatHanrahan,Fall2001GeometryEvaluationofpolynomialsforcurvedsurfacesTransformandprojectionClipping,cullingandprimitiveassemblyCS448Lecture2KurtAkeley,PatHanrahan,Fall2001GeometryEvaluationofpolynomialsforcurvedsurfacesTransformandprojection(object-imagespace)Clipping,cullingandprimitiveassemblyLighting(lightsourcesandsurfacereflection)TexturecoordinategenerationTObject-spacetrianglesScreen-spacelittriangles8CS448Lecture2KurtAkeley,PatHanrahan,Fall2001RasterizationSetup(per-triangle)Sampling(triangle={fragments})Interpolation(interpolatecolorsandcoordinates)Screen-spacetrianglesFragmentsCS448Lecture2KurtAkeley,PatHanrahan,Fall2001TextureTexturetransformationandprojectionTextureaddresscalculationTexturefilteringFragmentsTextureFragments9CS448Lecture2KurtAkeley,PatHanrahan,Fall2001FragmentTexturecombinersFragmentsTexturedFragmentsTextureFragmentsCS448Lecture2KurtAkeley,PatHanrahan,Fall2001FragmentTexturecombinersandfogOwner,scissor,depth,alphaandstenciltestsBlendingorcompositingDitheringandlogicaloperationsTexturedFragmentsFramebufferPixels10CS448Lecture2KurtAkeley,PatHanrahan,Fall2001DisplayGammacorrectionAnalogtodigitalconversionFramebufferPixelsLightCS448Lecture2KurtAkeley,PatHanrahan,Fall2001GraphicsPipelineApplicationImageObjectDisplayApplicationGeometryRasterizationTextureFragmentDisplayCommandRasterization11CS448Lecture2KurtAkeley,PatHanrahan,Fall2001GraphicsPipelineApplicationVertexDisplayApplicationGeometryRasterizationTextureFragmentDisplayCommandFragmentRasterizationCS448Lecture2KurtAkeley,PatHanrahan,Fall2001Functionalityvs.FrequencyGeometryprocessing=per-vertexTransformationandLighting(T&L)Floatingpoint;complexoperations10millionverticesFragmentprocessing=per-fragmentBlendingandtexturecombinationFixedpoint;limitedoperations1billionfragments12CS448Lecture2KurtAkeley,PatHanrahan,Fall2001EvolutionoftheGraphicsPipelineHistoryFramebuffers:displayGeometryprocessing:transformationandlightingRasterization:hiddensurfaceandsimpleshadingTexturing:perspectivecorrecttexturelookupAntialiasing:multisamplingShading:multipletexturesandtexturecombinersWhereandhowtoinsertnewfunctionality?CS448Lecture2KurtAkeley,PatHanrahan,Fall2001InsertingFunctionality:OrderHidden-surfaceeliminationpaintersalgorithm=hide-firstz-buffer=hide-lastTexturingFragmenttextures=texture-lastVertextextures=texture-firstShadingVertexshading=shade-firstorshade-first-vertexFragmentshading=shad
本文标题:实时图形架构-GPU渲染管线
链接地址:https://www.777doc.com/doc-7769290 .html