Presentation is loading. Please wait.

Presentation is loading. Please wait.

Dr A Sahu Dept of Comp Sc & Engg. IIT Guwahati 1.

Similar presentations


Presentation on theme: "Dr A Sahu Dept of Comp Sc & Engg. IIT Guwahati 1."— Presentation transcript:

1 Dr A Sahu Dept of Comp Sc & Engg. IIT Guwahati 1

2 Intel 945 Motherboard architecture – GMCH NVIDIA GPU Architecture ATI Readon Architecture DirectX, OpenGL, OpenCL Advance GPU from ATI and AMD – Introduction to Nvidia Cuda Programming 2

3 From 20 Oct 2010 to 26 Oct 2010 Class will be at allocated Room 1201 There will be multimedia workshop in this Seminar room 20-26 Nov 2010 3

4 Graphics and Memory Controller Hub Graphics Interface (GI) and PCI Express for Graphics card support Host Interface (HI) – Connect to processor and support HT, IntrDelivery, 12 in-order queue, etc. System Memory Interface (SMI) – Connected to two channel DDR2 Direct Media Interface (DMI) – Connect to ICH7 4

5 Peripherals : HD monitor Interfaces : Intermediate Hardware – Nvidia GPU card Interfaces : Intermediate Software/Program – Nvidia GPU driver Intel Pentium D Processor Intel Pentium D Processor DDR2 Support for Media Ext Card Intel GMA 950 Graphics PCI Express* x16 Graphics PCI Express* x16 Graphics 82945 GMCH/MCH North Bridge 82945 GMCH/MCH North Bridge 5

6 Char display (80x25 char, 5x7pixel=400x175) CRT Monitor (400x600, 640x480,600x800) LCD Monitor (1024x768,1280x1024,…) Graphics visually more appealing Display Line, Circle, Rectangle, Curve, Polygon – Character using this primitives – True type font RED ARROW Circle 6

7 1024x768 Pixel LCD 0 1 2 3 4 ….. …1023 0 1 2 767 R R Row Ctr Col Ctr Col Ctr CLK > 1024x768x50Hz B B G G 8x3=24 Bits Frame Buffer Refresh screen 50 time a Sec 7

8 R B G alpha red green blue 081624 pixel longword The intensity of each color-component within a pixel is an 8-bit value 0.5, 0, 1, 0 0, 0.5, 0 Alpha represent pre- multiplied valued 8

9 B B G G R R A A B B G G R R A A B B G G R R VRAM 0 1 2 3 Video Screen 4 5 6 78 9 10 … “truecolor” graphics-modes use 4-bytes per picture-element 9

10 GPU : specialized processor that accelerates 3D or 2D graphics primitives operations Lots of Floating point operations Accelerates Primitives – Line, circle, polygon, mesh, projection, sphere, 10

11 3D application 3D API: OpenGL DirectX/3D 3D API: OpenGL DirectX/3D 3D API Commands CPU-GPU Boundary GPU Command & Data Stream GPU Command GPU Command Primitive Assembly Primitive Assembly Rastereisation Interpolation Rastereisation Interpolation Raster Operation Raster Operation Frame Buffer Programmable Fragment Processors Programmable Fragment Processors Programmable Vertex Processor Programmable Vertex Processor Vertex Index Stream Assembled polygon, line & points Pixel Location Stream Pixel Updates Transformed Fragments Rastorized Pretransformed Fragments transformed Vertices Pretransformed Vertices 11

12 Memory System Memory System Texture Memory Texture Memory Frame Buffer Frame Buffer Vertex Processing Vertex Processing Pixel Processing Pixel Processing Vertices (x,y,z) Pixel R, G,B Vertex Shadder Vertex Shadder Pixel Shadder Pixel Shadder 12

13  The computing capacities of graphics processing units (GPUs) have improved exponentially in the recent decade.  NVIDIA released a CUDA programming model for GPUs.  The CUDA programming environment applies the parallel processing capabilities of the GPUs to medical image processing research.

14 CUDA Cores 480 (Compute Unified Dev Arch) Graphics Clock (MHz) 700 Processor Clock (MHz) 1401 Texture Fill Rate (billion/sec) 42

15 15

16 Microsoft® DirectX® 11 Support – DirectX 11 GPU with Shader Model 5.0 support designed for ultra high performance in the new API’s key graphics feature NVIDIA® 3D Vision™ Surround Ready – Expand your games across three displays in full stereoscopic 3D for the ultimate “inside the game” experience NVIDIA® Surround™ also supports triple screen gaming with non-stereo displays. Interactive Ray Tracing – By tracing the path of light through a 3D scene, ray tracing to create spectacular, photo-realistic visuals. Get a glimpse into the future of gaming with ray tracing. 3-way NVIDIA SLI® Technology – Industry leading 3-way NVIDIA SLI technology offers amazing performance scaling by implementing 3-way AFR (Alternate Frame Rendering) for the world’s premier gaming solution

17 NVIDIA PhysX® Technology – Enabling a totally new class of physical gaming interaction for a more dynamic and realistic experience with GeForce. NVIDIA CUDA™ Technology – CUDA technology accelerate the most demanding tasks such as video transcoding, physics simulation, ray tracing 32x Anti-aliasing Technology – Lightning fast, high-quality anti-aliasing at up to 32x sample rates obliterates jagged edges. NVIDIA® PureVideo® HD Technology*** – The combination of hD video dec accn and post-processing that delivers unprecedented picture clarity, smooth video, accurate color, and precise image scaling for movies and video. PCI Express 2.0 Support. Dual-link DVI Support, HDMI 1.4

18 Elements of the graphics pipeline: 1.A scene description: vertices, triangles, colors, lighting 2.Transformations that map the scene to a camera viewpoint 3.“Effects”: texturing, shadow mapping, lighting calculations 4.Rasterizing: converting geometry into pixels 5.Pixel processing: depth tests, stencil tests, and other per-pixel operations. Elements of the graphics pipeline: 1.A scene description: vertices, triangles, colors, lighting 2.Transformations that map the scene to a camera viewpoint 3.“Effects”: texturing, shadow mapping, lighting calculations 4.Rasterizing: converting geometry into pixels 5.Pixel processing: depth tests, stencil tests, and other per-pixel operations. Parameters controlling design of the pipeline: 1.Where is the boundary between CPU and GPU ? 2.What transfer method is used ? 3.What resources are provided at each step ? 4.What units can access which GPU memory elements ? Parameters controlling design of the pipeline: 1.Where is the boundary between CPU and GPU ? 2.What transfer method is used ? 3.What resources are provided at each step ? 4.What units can access which GPU memory elements ?

19 http://accelenation.com/?ac.id.123.2 One of the first true 3D game cards Worked by supplementing standard 2D video card. Did not do vertex transformations: these were done in the CPU Did do texture mapping, z-buffering. Primitive Assembly Primitive Assembly Vertex Transforms Vertex Transforms Frame Buffer Frame Buffer Raster Operations Raster Operations Rasterization and Interpolation Rasterization and Interpolation CPUGPU PCI

20 Vertex Transforms Vertex Transforms Main innovation: shifting the transformation and lighting calculations to the GPU Allowed multi-texturing: giving bump maps, light maps, and others.. Faster AGP bus instead of PCI Primitive Assembly Primitive Assembly Frame Buffer Frame Buffer Raster Operations Raster Operations Rasterization and Interpolation Rasterization and Interpolation GPU AGP

21 http://www.cis.upenn.edu/~suvenkat/700/ Vertex Transforms Vertex Transforms For the first time, allowed limited amount of programmability in the vertex pipeline Also allowed volume texturing and multi- sampling (for antialiasing) Primitive Assembly Primitive Assembly Frame Buffer Frame Buffer Raster Operations Raster Operations Rasterization and Interpolation Rasterization and Interpolation GPU AGP Small vertex shaders Small vertex shaders

22 Vertex Transforms Vertex Transforms This generation is the first generation of fully-programmable graphics cards Different versions have different resource limits on fragment/vertex programs Primitive Assembly Primitive Assembly Frame Buffer Frame Buffer Raster Operations Raster Operations Rasterization and Interpolation Rasterization and Interpolation AGP Programmable Vertex shader Programmable Vertex shader Programmable Fragment Processor Programmable Fragment Processor

23 Not exactly a quantum leap, but… Simultaneous rendering to multiple buffers True conditionals and loops Higher precision throughput in the pipeline (64 bits end-to-end, compared to 32 bits earlier.) PCIe bus More memory/program length/texture accesses

24 Modeling Transformations Illumination (Shading) Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display

25 Primitives are processed in a series of stages Each stage forwards its result on to the next stage The pipeline can be drawn and implemented in different ways Some stages may be in hardware, others in software Optimizations & additional programmability are available at some stages Modeling Transformations Illumination (Shading) Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display

26 Operate STRICTLY one vertex at a time. Take the original position of the vertex and other properties (normal, color, lights,...) Output the position and color of the vertex after processing, any other changed properties.

27 Take a “primitive with adjacency” (so, more than one vertex) plus other properties. Allow you to create new geometry from the original adjacency information.

28 Interpolate the vertices in a 2D primitive to fill each pixel contained in the primitive. Texturing and many other kinds of computation can be done.

29 3D models defined in their own coordinate system (object space) Modeling transforms orient the models within a common coordinate frame (world space) Modeling Transformations Illumination (Shading) Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display Object spaceWorld space

30 Process one vertex at one time – No information on other vertices Programmable Transformation Lighting

31 Global to eye coordinate system

32 Diffuse Specular

33 Vertices lit (shaded) according to material properties, surface properties (normal) and light sources Local lighting model (Diffuse, Ambient, Phong, etc.) Modeling Transformations Illumination (Shading) Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display

34 Maps world space to eye space Viewing position is transformed to origin & direction is oriented along some axis (usually z) Modeling Transformations Illumination (Shading) Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display Eye space World space

35 Transform to Normalized Device Coordinates (NDC) Portions of the object outside the view volume (view frustum) are removed Modeling Transformations Illumination (Shading) Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display Eye spaceNDC

36 Backface culling – Remove triangles facing away from view – Eliminate ½ of the triangles in theory Clipping against view frustum – Triangles may become quadrilaterals

37 From floating point range [-1, 1] x [-1, 1] to integer range [0, height-1] x [0, width-1]

38 The objects are projected to the 2D image place (screen space) Modeling Transformations Illumination (Shading) Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display NDC Screen Space

39 Rasterizes objects into pixels Interpolate values as we go (color, depth, etc.) Modeling Transformations Illumination (Shading) Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display

40 Fragment: corresponds to a single pixel and includes color, depth, and sometimes texture- coordinate values. Compute color and depth for each pixel Most interesting part of GPU

41 Optional – (though hard to avoid) Cache data – Hide latency from FB Sampling/filtering – I told you this last time

42 Each pixel remembers the closest object (depth buffer) Almost every step in the graphics pipeline involves a change of coordinate system. Transformations are central to understanding 3D computer graphics. Modeling Transformations Illumination (Shading) Illumination (Shading) Viewing Transformation (Perspective / Orthographic) Viewing Transformation (Perspective / Orthographic) Clipping Projection (to Screen Space) Scan Conversion (Rasterization) Visibility / Display

43 modeling animation rendering 3D scanning motion capture image-based rendering image-based rendering the traditional pipeline the new pipeline?

44 44


Download ppt "Dr A Sahu Dept of Comp Sc & Engg. IIT Guwahati 1."

Similar presentations


Ads by Google