Unformatted text preview:

NVIDIA GeForceWhat Does a GPU Actually Do?3D Rendering Pipeline (direct illumination)Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Modern OpenGL PipelineOpenGL vs. DirectXPossible GPU Performance BottlenecksEarly HistoryGeForce 256 (NV10)GeForce2Anti-AliasingSlide 17Slide 18GeForce3Slide 20LightSpeed Memory ArchitectureGeForce4GeForce FXGeForce 6 seriesSlide 25General Diagram (6800/NV40)TurboCacheSlide 28NV40 Vertex ProcessorNV40 Fragment ProcessorsProgrammable 2D and Video ProcessorWhy NV40 series was betterDynamic BranchingSlide 34GeForce 7 seriesGeForce 7800Slide 37Slide 38Slide 39ALU Units in Pixel ProcessorGeForce 6 vs. GeForce 7GeForce 6 vs. GeForce 7 (speculative)Slide 43General Diagram (7800/G70)32-bit IEEE floating-point throughout pipeline (NV40)Hardware supports several other data typesHow are current GPU’s different from CPU?Slide 48GPU Memory Model vs CPU’sGPU Memory ModelGPGPU and MotivationMotivation: Computational PowerGPGPUPrograms are ShadersVertex processorFragment Processor Flow ChartFragment processor has flexible texture mappingAdditional fragment processor capabilitiesFragment processor limitationsBranching Instruction Costs (GeForce 6800)Fragment shadersCineFX 4.0 EngineVertex ShadersTheoretical Rasterization Pattern of a TriangleNew Pixel Shader – MADDTransparency Adaptive SupersamplingSlide 67Transparency Adaptive MultisamplingSlide 69Supporting the FutureAccelerated Graphics Port (AGP)PCI ExpressScalable Link Interface (SLI)Slide 74Split-frame RenderingAlternate-frame RenderingGeForce Go 7800 GTXSlide 78Slide 79GeForce Go 7800 – Power IssuesQuestions?NVIDIA GeForceNVIDIA GeForceRyan HendrixsonRyan HendrixsonRyan SchubertRyan SchubertAllison WalthallAllison WalthallWhat Does a GPU Actually What Does a GPU Actually Do?Do?Historically, from:Historically, from:–Acting simply as a frame bufferActing simply as a frame buffer–Doing vertex transformations and pixel Doing vertex transformations and pixel color calculationscolor calculations–Now even programmable Now even programmable In the simplest sense, a modern GPU In the simplest sense, a modern GPU implements a 3D rendering pipelineimplements a 3D rendering pipeline3D Rendering Pipeline3D Rendering Pipeline (direct (direct illumination)illumination)3D Geometric PrimitivesModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLightingImageClippingClippingScanConversionScanConversionThis is a pipelinedsequence of operations to draw a 3D primitiveinto a 2D image3D Rendering Pipeline3D Rendering Pipeline (direct illumination) (direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate system3D Rendering Pipeline3D Rendering Pipeline (direct illumination) (direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemIlluminate according to lighting and reflectance3D Rendering Pipeline3D Rendering Pipeline (direct illumination) (direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemIlluminate according to lighting and reflectanceTransform into 3D camera coordinate system3D Rendering Pipeline3D Rendering Pipeline (direct illumination) (direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemTransform into 2D screen coordinate system Illuminate according to lighting and reflectance3D Rendering Pipeline3D Rendering Pipeline (direct illumination) (direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemClip primitives outside camera’s viewTransform into 2D screen coordinate system Illuminate according to lighting and reflectance3D Rendering Pipeline3D Rendering Pipeline (direct illumination) (direct illumination)ModelingTransformationModelingTransformationViewingTransformationViewingTransformationProjectionTransformationProjectionTransformationLightingLighting3D Geometric PrimitivesImageClippingClippingScanConversionScanConversionTransform into 3D world coordinate systemTransform into 3D camera coordinate systemDraw pixelsClip primitives outside camera’s viewTransform into 2D screen coordinate system Illuminate according to lighting and reflectanceGPUCPUModern OpenGL PipelineModern OpenGL PipelineProgrammable Vertex ProcessorProgrammable Vertex ProcessorProgrammable Fragment (Pixel) Programmable Fragment (Pixel) ProcessorProcessorApplicationApplicationVertexProcessorVertexProcessorAssembly& RasterizationAssembly& RasterizationPixelProcessorPixelProcessorVideoMemory(Textures)VideoMemory(Textures)VerticesVertices(3D)(3D)Xformed,Xformed,LitLitVerticesVertices(2D)(2D)FragmentsFragments(pre-pixels)(pre-pixels)FinalFinalpixelspixels(Color, Depth)(Color, Depth)Graphics StateGraphics StateRender-to-textureRender-to-textureVertexProcessorVertexProcessorPixelProcessorPixelProcessorOpenGL vs. DirectXOpenGL vs. DirectXJust graphicsJust graphicsStandard C Standard C interfacesinterfacesState machineState machineMultiple Multiple platformsplatformsAcademic useAcademic useGraphics, Graphics, multimedia, multimedia, etc.etc.C++ interfacesC++ interfacesObject orientedObject orientedWindowsWindowsPC gamesPC gamesPossible GPU Performance Possible GPU Performance BottlenecksBottlenecksCPU/Bus BoundCPU/Bus Bound–Simply not able to send enough vertices to the Simply not able to send enough vertices to the


View Full Document

UVA CS 451 - LECTURE NOTES

Download LECTURE NOTES
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view LECTURE NOTES and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view LECTURE NOTES 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?