3D rendering Hw & graphics API

20
kground image by chromosphere.deviantart.com la in following slides by devart.deviantart.com DM2336 Programming hardware shaders Dioselin Gonzalez - 2007 S2 3D rendering Hw & graphics API

description

3D rendering Hw & graphics API. Objectives. Purpose of graphic rendering hardware History of 3D hardware Definition and evolution of Graphic Processing Unit APIs: OpenGL, DirectX. History. von Neumann architecture. Memory Program &Data. Central Processing Unit (CPU). Control Unit - PowerPoint PPT Presentation

Transcript of 3D rendering Hw & graphics API

Page 1: 3D rendering Hw & graphics API

Background image by chromosphere.deviantart.comFella in following slides by devart.deviantart.com

DM2336 Programming hardware shadersDioselin Gonzalez - 2007 S2DM2336 Programming hardware shadersDioselin Gonzalez - 2007 S2

3D rendering Hw & graphics API

3D rendering Hw & graphics API

Page 2: 3D rendering Hw & graphics API

2

DM2336 PHS – Dioselin Gonzalez – 2007 S2

ObjectivesObjectives

• Purpose of graphic rendering hardwarePurpose of graphic rendering hardware

• History of 3D hardware History of 3D hardware

• Definition and evolution of Graphic Definition and evolution of Graphic Processing UnitProcessing Unit

• APIs: OpenGL, DirectXAPIs: OpenGL, DirectX

Page 3: 3D rendering Hw & graphics API

Background image by katosu.deviantart.com

DM2336 PHS – Dioselin Gonzalez – 2007 S2

HistoryHistory

Page 4: 3D rendering Hw & graphics API

4

DM2336 PHS – Dioselin Gonzalez – 2007 S2

von Neumann architecturevon Neumann architecture

Central Processing Unit (CPU)

MemoryMemoryProgram &DataProgram &Data

Control Unit Control Unit (CU)(CU)

Arithmetic Logic Arithmetic Logic Unit Unit

(ALU)(ALU)

Input/Output (IO)Input/Output (IO)

Page 5: 3D rendering Hw & graphics API

5

DM2336 PHS – Dioselin Gonzalez – 2007 S2

A little bit of historyA little bit of history

• Late ’70sLate ’70s

– Chips with 2D graphics operationsChips with 2D graphics operations

– ANTIC (Alpha-Numeric Television Interface ANTIC (Alpha-Numeric Television Interface

Circuit) – Atari 800, 5200Circuit) – Atari 800, 5200

Page 6: 3D rendering Hw & graphics API

6

DM2336 PHS – Dioselin Gonzalez – 2007 S2

A little bit of historyA little bit of history

• Early ’80sEarly ’80s

– Jim Clark : Silicon GraphicsJim Clark : Silicon Graphics

– First 3D graphics workstationFirst 3D graphics workstation

– Flat-shaded polygonsFlat-shaded polygons

Page 7: 3D rendering Hw & graphics API

7

DM2336 PHS – Dioselin Gonzalez – 2007 S2

A little bit of historyA little bit of history

• Late ’80sLate ’80s

– Gouraud-shaded, Phong-lit and z-bufferedGouraud-shaded, Phong-lit and z-buffered

Page 8: 3D rendering Hw & graphics API

8

DM2336 PHS – Dioselin Gonzalez – 2007 S2

A little bit of historyA little bit of history

• Early ’90sEarly ’90s– Texture mapping, antialiasingTexture mapping, antialiasing

– Silicon Graphics RealityEngineSilicon Graphics RealityEngine

– Mass-marketed 3D graphics HW: Mass-marketed 3D graphics HW: PlayStation and Nintendo 64 PlayStation and Nintendo 64

Page 9: 3D rendering Hw & graphics API

9

DM2336 PHS – Dioselin Gonzalez – 2007 S2

A little bit of historyA little bit of history

• Late ’90sLate ’90s

– August 31, 1999: First graphics processing August 31, 1999: First graphics processing unit (GPU) —the NVIDIA GeForce 256. unit (GPU) —the NVIDIA GeForce 256.

– ProgrammabilityProgrammability

Page 10: 3D rendering Hw & graphics API

10

DM2336 PHS – Dioselin Gonzalez – 2007 S2

Graphics Processing UnitGraphics Processing Unit

““A single-chip processor with integrated A single-chip processor with integrated transform, lighting, triangle setup/clipping, transform, lighting, triangle setup/clipping, and rendering engines that is capable of and rendering engines that is capable of processing a minimum of 10 million processing a minimum of 10 million polygons per second.”polygons per second.”

http://www.nvidia.com/page/geforce256.html

Page 11: 3D rendering Hw & graphics API

11

DM2336 PHS – Dioselin Gonzalez – 2007 S2

The Evolution of GPUThe Evolution of GPU

• GPU is a dedicated graphics rendering GPU is a dedicated graphics rendering device for PC, workstation, game console.device for PC, workstation, game console.

• Industrial requirementIndustrial requirement• Faster clock, bigger memory, support more Faster clock, bigger memory, support more

advanced graphics APIadvanced graphics API• GPU now exceeds the complexity of CPU in GPU now exceeds the complexity of CPU in

terms of transistor count (nVidia G8800 terms of transistor count (nVidia G8800 GTX, 680m, Intel core 2 Extreme QX6700, GTX, 680m, Intel core 2 Extreme QX6700, 582m)582m)

From Mr. Guo Zheng slides – DM2336 2007 S1

Page 12: 3D rendering Hw & graphics API

12

DM2336 PHS – Dioselin Gonzalez – 2007 S2

~ 1996~ 1996

• nVidia TNT2, ATI’s nVidia TNT2, ATI’s Rage, 3dfx Voodoo3Rage, 3dfx Voodoo3

• Capable of rasterizing, Capable of rasterizing, DirectX 6DirectX 6

• Do not do vertex Do not do vertex transformtransform

• Limited operation for Limited operation for texture.texture.

voodoo3From Mr. Guo Zheng slides – DM2336 2007 S1

Page 13: 3D rendering Hw & graphics API

13

DM2336 PHS – Dioselin Gonzalez – 2007 S2

~ 1999~ 1999

• nVidia GeForce 256, ATI nVidia GeForce 256, ATI Radeon 7500Radeon 7500

• Transformation and Transformation and lighting supportedlighting supported

• Multiple textures allowedMultiple textures allowed• AGP bus instead of PCIAGP bus instead of PCI• Configurable, not Configurable, not

programmableprogrammable

Geforce 256From Mr. Guo Zheng slides – DM2336 2007 S1

Page 14: 3D rendering Hw & graphics API

14

DM2336 PHS – Dioselin Gonzalez – 2007 S2

~ 2001~ 2001

• nVidia GeForce3, nVidia GeForce3, Geforce4, ATI Radeon Geforce4, ATI Radeon 85008500

• Vertex programmableVertex programmable• Volume texturing, multi-Volume texturing, multi-

samplingsampling• Lack of pixel Lack of pixel

programmabilityprogrammability

GeForce3From Mr. Guo Zheng slides – DM2336 2007 S1

Page 15: 3D rendering Hw & graphics API

15

DM2336 PHS – Dioselin Gonzalez – 2007 S2

~ 2002~ 2002

• nVidia Geforce FX, nVidia Geforce FX, ATI Radeon 9700ATI Radeon 9700

• Both vertex and Both vertex and pixel pixel programmability.programmability.

• Direct3D 9 Direct3D 9 supported.supported.

From Mr. Guo Zheng slides – DM2336 2007 S1

Page 16: 3D rendering Hw & graphics API

16

DM2336 PHS – Dioselin Gonzalez – 2007 S2

RecentlyRecently• GeForce 8800 UltraGeForce 8800 Ultra• Released 2th MayReleased 2th May• Memory 768MBMemory 768MB• Shader clock Shader clock

1500MHz, Memory 1500MHz, Memory clock 2160MHz, Core clock 2160MHz, Core clock 612MHzclock 612MHz

• Direct3D 10, shader Direct3D 10, shader model 4.0 supportedmodel 4.0 supported

From Mr. Guo Zheng slides – DM2336 2007 S1

Page 17: 3D rendering Hw & graphics API

17

DM2336 PHS – Dioselin Gonzalez – 2007 S2

And now what?And now what?

• 2000’s2000’s– Global EvaluationGlobal Evaluation

• Ray tracing: visibility and integrationRay tracing: visibility and integration• True shadows, path tracing, photon True shadows, path tracing, photon

mappingmapping

– General-purpose computation using General-purpose computation using graphics hardware graphics hardware

Page 18: 3D rendering Hw & graphics API

Background image by katosu.deviantart.com

DM2336 PHS – Dioselin Gonzalez – 2007 S2

APIsAPIs

Page 19: 3D rendering Hw & graphics API

19

DM2336 PHS – Dioselin Gonzalez – 2007 S2

3D Graphics API3D Graphics API

• API: Application Programming Interface API: Application Programming Interface

Images are trademark of their respective owners

Page 20: 3D rendering Hw & graphics API

20

DM2336 PHS – Dioselin Gonzalez – 2007 S2

OpenGL and Direct3DOpenGL and Direct3D

Silicon GraphicsSilicon Graphics~ 1991~ 1991

Microsoft (RenderMorphics)Microsoft (RenderMorphics)~ 1995~ 1995

Images are trademark of their respective owners