实时图形架构-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

1 / 17
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功