3D rendering Hw & graphics API
description
Transcript of 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
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
Background image by katosu.deviantart.com
DM2336 PHS – Dioselin Gonzalez – 2007 S2
HistoryHistory
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)
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
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
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
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
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
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
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
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
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
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
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
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
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
Background image by katosu.deviantart.com
DM2336 PHS – Dioselin Gonzalez – 2007 S2
APIsAPIs
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
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