SlideShare ist ein Scribd-Unternehmen logo
1 von 50
 
NVIDIA Graphics, Cg, and Transparency Mark Kilgard Graphics Software Engineer NVIDIA Corporation GPU Shading and Rendering Course 3 July 30, 2006
Outline ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Seven Years of GeForce DX9c 2.0 Transparency antialiasing, quad-GPU GeForce 7800 GTX 2005 DX9c 2.0 Vertex textures, structured fragment branching, non-power-of-two textures, generalized floating-point textures, floating-point texture filtering and blending, dual-GPU GeForce 6800 Ultra 2004 DX9c 2.1 Single-board dual-GPU, process efficiency GeForce 7900 GTX 2006 DX9 1.5 Vertex program branching, floating-point fragment programs, 16 texture units, limited floating-point textures, color & depth compression GeForce FX 2003 DX8.1 1.4 Early Z culling, dual-monitor GeForce4 Ti 4600 2002 DX8 1.4 Programmable vertex transformation, 4 texture units, dependent textures, 3D textures, shadow maps, multisampling, occlusion queries GeForce3 2001 DX7 1.3 Hardware transform & lighting, configurable fixed-point shading, cube maps, texture compression, anisotropic texture filtering GeForce 256 2000 Direct3D Version OpenGL Version New Features Product
2006: the GeForce 7900 GTX board ,[object Object],[object Object],[object Object],16x PCI-Express DVI x 2 sVideo TV Out SLI Connector
2006: the GeForce 7900 GTX GPU ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2006: GeForce 7950 GX2, SLI-on-a-card DVI x 2 sVideo TV Out 16x PCI-Express Sandwich of two printed circuit boards Two GeForce 7 Series GPUs 500 Mhz core 1 GB video memory 512 MB per GPU 1,200 Mhz effective Effective 512-bit memory interface!
GeForce Peak Vertex Processing Trends Millions of vertices per second Vertex units  1  1  2  3  6  8  8  2 ×8 rate for trivial 4x4 vertex transform exceeds peak setup rates—allows excess vertex processing Assumes Alternate Frame Rendering (AFR) SLI Mode
GeForce Peak Triangle Setup Trends Millions of triangles per second assumes 50% face culling Assumes Alternate Frame Rendering (AFR) SLI Mode
GeForce Peak Memory Bandwidth Trends Gigabytes per second Two physical 256-bit memory interfaces 128-bit interface 256-bit interface
Effective GPU Memory Bandwidth ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
NVIDIA Graphics Core and Memory Clock Rates Megahertz (Mhz) DDR memory transition—memory rates double physical clock rate
GeForce Peak Texture Fetch Trends Millions of texture fetches  per second Texture units  2 ×4   2×4  2×4  2×4  16  24  24  2 ×24 assuming no texture cache misses
GeForce Peak Depth/Stencil-only Fill assuming no read-modify-write Millions of depth/stencil pixel updates per second double speed depth-stencil only
GeForce Transistor Count and Semiconductor Process Millions of transistors Process ( nm )  180  180  150  130  130  110  90  90 More performance with fewer transistors: Architectural & process efficiency!
GeForce 7900 GTX Parallelism Triangle Setup/Raster Shader Instruction Dispatch Fragment Crossbar Memory Partition Memory Partition Memory Partition Memory Partition Z-Cull 8 Vertex Engines 24 Fragment Shaders 16 Raster Operation Pipelines
16 GeForce FX 5900 GeForce 6800 Ultra Vertex Fragment 2 nd  Texture Fetch 3 6 4+4 Raster Color Raster Depth 4+4 16+16 GeForce 7900 GTX Hardware Unit 8 24 16+16
2005: Comparison to CPU ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
2006: Comparison to CPU ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Giga Flops Imbalance Theoretical programmable IEEE 754 single-precision Giga Flops
Future NVIDIA GPU directions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
DirectX 10-class GPU functionality ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Per-primitive processing example: Automatic silhouette edge rendering emit edge of adjacent triangles that face  opposite  directions  New triangle adjacency primitive = 3 conventional vertices + 3 vertices for adjacent triangles
More DirectX 10-class GPU functionality ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Uses of DirectX 10 functionality GPU Marching Cubes GPU Cloth Styled Line Drawing Deformable Collisions Sparkling Sprites Table-free Noise Deep Waves GPU Fluid Simulation
DirectX 10-class functionality parity ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
 
Multi-GPU Support ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Vertex Cores Fragment Cores Raster Color Cores Raster Depth Cores GeForce 7900 GTX Hardware Unit 8 24 16+16 GeForce 7900 GTX Quad SLI 32 96 64+64
Cg: C for Graphics
Cg: C for Graphics ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Evolution of Cg C (AT&T, 1970’s) C++ (AT&T, 1983) Java (Sun, 1994) RenderMan (Pixar, 1988) PixelFlow  Shading Language (UNC, 1998) Real-Time  Shading Language (Stanford, 2001) Cg / HLSL (NVIDIA/Microsoft, 2002) IRIS GL (SGI, 1982) OpenGL (ARB, 1992) Direct3D (Microsoft, 1995) Reality Lab (RenderMorphics, 1994) General-purpose languages Graphics Application Program Interfaces Shading Languages
Cg 1.5 ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
FX Composer for Cg shader authoring ,[object Object],[object Object],[object Object],[object Object]
Future: Modernizing Cg ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Cg Directions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Why C++? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Logical Programmable Graphics Pipeline 3D Application or Game 3D API: OpenGL or Direct3D Driver Programmable Vertex Processor Primitive Assembly Rasterization & Interpolation 3D API Commands Transformed Vertices Assembled Polygons, Lines, and Points GPU Command & Data  Stream Programmable Fragment Processor Rasterized Pre-transformed Fragments Transformed Fragments Raster Operations Framebuffer Pixel Updates GPU Front End Pre-transformed Vertices Vertex Index Stream Pixel Location Stream CPU – GPU Boundary Program vertex and fragment domains
Future Logical Programmable Graphics Pipeline 3D Application or Game 3D API: OpenGL or Direct3D Driver Programmable Vertex Processor Primitive Assembly Rasterization & Interpolation 3D API Commands Transformed Vertices Output assembled Polygons, Lines, and Points GPU Command & Data  Stream Programmable Fragment Processor Rasterized Pre-transformed Fragments Transformed Fragments Raster Operations Framebuffer Pixel Updates GPU Front End Pre-transformed Vertices Vertex Index Stream Pixel Location Stream CPU – GPU Boundary Programmable Primitive Processor Input assembled Polygons, Lines, and Points New per-primitive “geometry” programmable domain
Pass Through Geometry Program Example ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],Primitive’s attributes arrive as “templated” attribute arrays Length of attribute arrays depends on the input primitive mode, 3 for TRIANGLE Bundles a vertex based on parameter values and semantics Makes sure flat attributes are associated with the proper provoking vertex convention flatColor initialized from constant buffer 6
Depth peeling ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Transparency: The Good vs. the Ugly
Peeled layer visualization composite layers Fragment count per layer
Another example: The Good vs. the Ugly
Another peeled layer visualization composite layers Fragment count per layer
Real-time transparency demo
Depth peeling: How it works ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Optimizations for real-time depth peeling ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
So is transparency a solved problem? ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
Conclusions ,[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]

Weitere ähnliche Inhalte

Was ist angesagt?

Was ist angesagt? (20)

OpenGL 3.2 and More
OpenGL 3.2 and MoreOpenGL 3.2 and More
OpenGL 3.2 and More
 
Modern OpenGL Usage: Using Vertex Buffer Objects Well
Modern OpenGL Usage: Using Vertex Buffer Objects Well Modern OpenGL Usage: Using Vertex Buffer Objects Well
Modern OpenGL Usage: Using Vertex Buffer Objects Well
 
vkFX: Effect(ive) approach for Vulkan API
vkFX: Effect(ive) approach for Vulkan APIvkFX: Effect(ive) approach for Vulkan API
vkFX: Effect(ive) approach for Vulkan API
 
CS 354 Viewing Stuff
CS 354 Viewing StuffCS 354 Viewing Stuff
CS 354 Viewing Stuff
 
OpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUsOpenGL 4.5 Update for NVIDIA GPUs
OpenGL 4.5 Update for NVIDIA GPUs
 
NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016NVIDIA OpenGL in 2016
NVIDIA OpenGL in 2016
 
GTC 2012: GPU-Accelerated Path Rendering
GTC 2012: GPU-Accelerated Path RenderingGTC 2012: GPU-Accelerated Path Rendering
GTC 2012: GPU-Accelerated Path Rendering
 
Siggraph 2016 - Vulkan and nvidia : the essentials
Siggraph 2016 - Vulkan and nvidia : the essentialsSiggraph 2016 - Vulkan and nvidia : the essentials
Siggraph 2016 - Vulkan and nvidia : the essentials
 
NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017NVIDIA OpenGL 4.6 in 2017
NVIDIA OpenGL 4.6 in 2017
 
Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!Your Game Needs Direct3D 11, So Get Started Now!
Your Game Needs Direct3D 11, So Get Started Now!
 
Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)Realtime Per Face Texture Mapping (PTEX)
Realtime Per Face Texture Mapping (PTEX)
 
SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012SIGGRAPH 2012: NVIDIA OpenGL for 2012
SIGGRAPH 2012: NVIDIA OpenGL for 2012
 
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
Slides: Accelerating Vector Graphics Rendering using the Graphics Hardware Pi...
 
Mantle for Developers
Mantle for DevelopersMantle for Developers
Mantle for Developers
 
NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017NVIDIA OpenGL and Vulkan Support for 2017
NVIDIA OpenGL and Vulkan Support for 2017
 
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and BeyondSIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
SIGGRAPH Asia 2012 Exhibitor Talk: OpenGL 4.3 and Beyond
 
GPU accelerated path rendering fastforward
GPU accelerated path rendering fastforwardGPU accelerated path rendering fastforward
GPU accelerated path rendering fastforward
 
NvFX GTC 2013
NvFX GTC 2013NvFX GTC 2013
NvFX GTC 2013
 
Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)Parallel Futures of a Game Engine (v2.0)
Parallel Futures of a Game Engine (v2.0)
 
Masked Software Occlusion Culling
Masked Software Occlusion CullingMasked Software Occlusion Culling
Masked Software Occlusion Culling
 

Andere mochten auch

Andere mochten auch (8)

10 - It3D Summit 2016 - vr technology - T.Riley - NVIDIA
10 - It3D Summit 2016 - vr technology - T.Riley - NVIDIA10 - It3D Summit 2016 - vr technology - T.Riley - NVIDIA
10 - It3D Summit 2016 - vr technology - T.Riley - NVIDIA
 
Dominic Eskofier (Nvidia) Every Millisecond Counts: How to Render Faster for ...
Dominic Eskofier (Nvidia) Every Millisecond Counts: How to Render Faster for ...Dominic Eskofier (Nvidia) Every Millisecond Counts: How to Render Faster for ...
Dominic Eskofier (Nvidia) Every Millisecond Counts: How to Render Faster for ...
 
NVIDIA Gameworks, Libraries and Tools
NVIDIA Gameworks, Libraries and ToolsNVIDIA Gameworks, Libraries and Tools
NVIDIA Gameworks, Libraries and Tools
 
Cg shaders with Unity3D
Cg shaders with Unity3DCg shaders with Unity3D
Cg shaders with Unity3D
 
Investor Day 2015: GeForce Gaming
Investor Day 2015: GeForce GamingInvestor Day 2015: GeForce Gaming
Investor Day 2015: GeForce Gaming
 
NVIDIA – Inventor of the GPU
NVIDIA – Inventor of the GPUNVIDIA – Inventor of the GPU
NVIDIA – Inventor of the GPU
 
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham OriginsGTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
GTC 2014 - DirectX 11 Rendering and NVIDIA GameWorks in Batman: Arkham Origins
 
Étude Instagram : de l'utilisateur à l'influenceur
Étude Instagram : de l'utilisateur à l'influenceurÉtude Instagram : de l'utilisateur à l'influenceur
Étude Instagram : de l'utilisateur à l'influenceur
 

Ähnlich wie NVIDIA Graphics, Cg, and Transparency

Introduction To Geometry Shaders
Introduction To Geometry ShadersIntroduction To Geometry Shaders
Introduction To Geometry Shaders
pjcozzi
 
Hardware Shaders
Hardware ShadersHardware Shaders
Hardware Shaders
gueste52f1b
 
Amd accelerated computing -ufrj
Amd   accelerated computing -ufrjAmd   accelerated computing -ufrj
Amd accelerated computing -ufrj
Roberto Brandao
 
thu-blake-gdc-2014-final
thu-blake-gdc-2014-finalthu-blake-gdc-2014-final
thu-blake-gdc-2014-final
Robert Taylor
 
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
Johan Andersson
 
Commandlistsiggraphasia2014 141204005310-conversion-gate02
Commandlistsiggraphasia2014 141204005310-conversion-gate02Commandlistsiggraphasia2014 141204005310-conversion-gate02
Commandlistsiggraphasia2014 141204005310-conversion-gate02
RubnCuesta2
 
D3 D10 Unleashed New Features And Effects
D3 D10 Unleashed   New Features And EffectsD3 D10 Unleashed   New Features And Effects
D3 D10 Unleashed New Features And Effects
Thomas Goddard
 

Ähnlich wie NVIDIA Graphics, Cg, and Transparency (20)

Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
Evolution of the modern graphics architectures with a focus on GPUs | Turing1...
 
graphics processing unit ppt
graphics processing unit pptgraphics processing unit ppt
graphics processing unit ppt
 
Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360Next generation graphics programming on xbox 360
Next generation graphics programming on xbox 360
 
Xbox
XboxXbox
Xbox
 
Ge force fx
Ge force fxGe force fx
Ge force fx
 
計算力学シミュレーションに GPU は役立つのか?
計算力学シミュレーションに GPU は役立つのか?計算力学シミュレーションに GPU は役立つのか?
計算力学シミュレーションに GPU は役立つのか?
 
Introduction To Geometry Shaders
Introduction To Geometry ShadersIntroduction To Geometry Shaders
Introduction To Geometry Shaders
 
Hardware Shaders
Hardware ShadersHardware Shaders
Hardware Shaders
 
Amd accelerated computing -ufrj
Amd   accelerated computing -ufrjAmd   accelerated computing -ufrj
Amd accelerated computing -ufrj
 
thu-blake-gdc-2014-final
thu-blake-gdc-2014-finalthu-blake-gdc-2014-final
thu-blake-gdc-2014-final
 
OpenGL Shading Language
OpenGL Shading LanguageOpenGL Shading Language
OpenGL Shading Language
 
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla MahGS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
GS-4106 The AMD GCN Architecture - A Crash Course, by Layla Mah
 
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
The Intersection of Game Engines & GPUs: Current & Future (Graphics Hardware ...
 
Commandlistsiggraphasia2014 141204005310-conversion-gate02
Commandlistsiggraphasia2014 141204005310-conversion-gate02Commandlistsiggraphasia2014 141204005310-conversion-gate02
Commandlistsiggraphasia2014 141204005310-conversion-gate02
 
NVIDIA DGX User Group 1st Meet Up_30 Apr 2021.pdf
NVIDIA DGX User Group 1st Meet Up_30 Apr 2021.pdfNVIDIA DGX User Group 1st Meet Up_30 Apr 2021.pdf
NVIDIA DGX User Group 1st Meet Up_30 Apr 2021.pdf
 
OpenGL ES based UI Development on TI Platforms
OpenGL ES based UI Development on TI PlatformsOpenGL ES based UI Development on TI Platforms
OpenGL ES based UI Development on TI Platforms
 
GTC 2009 OpenGL Barthold
GTC 2009 OpenGL BartholdGTC 2009 OpenGL Barthold
GTC 2009 OpenGL Barthold
 
DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3DirectX 11 Rendering in Battlefield 3
DirectX 11 Rendering in Battlefield 3
 
Haskell Accelerate
Haskell  AccelerateHaskell  Accelerate
Haskell Accelerate
 
D3 D10 Unleashed New Features And Effects
D3 D10 Unleashed   New Features And EffectsD3 D10 Unleashed   New Features And Effects
D3 D10 Unleashed New Features And Effects
 

Mehr von Mark Kilgard

Mehr von Mark Kilgard (19)

D11: a high-performance, protocol-optional, transport-optional, window system...
D11: a high-performance, protocol-optional, transport-optional, window system...D11: a high-performance, protocol-optional, transport-optional, window system...
D11: a high-performance, protocol-optional, transport-optional, window system...
 
Computers, Graphics, Engineering, Math, and Video Games for High School Students
Computers, Graphics, Engineering, Math, and Video Games for High School StudentsComputers, Graphics, Engineering, Math, and Video Games for High School Students
Computers, Graphics, Engineering, Math, and Video Games for High School Students
 
Virtual Reality Features of NVIDIA GPUs
Virtual Reality Features of NVIDIA GPUsVirtual Reality Features of NVIDIA GPUs
Virtual Reality Features of NVIDIA GPUs
 
EXT_window_rectangles
EXT_window_rectanglesEXT_window_rectangles
EXT_window_rectangles
 
Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
Accelerating Vector Graphics Rendering using the Graphics Hardware PipelineAccelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
Accelerating Vector Graphics Rendering using the Graphics Hardware Pipeline
 
NV_path rendering Functional Improvements
NV_path rendering Functional ImprovementsNV_path rendering Functional Improvements
NV_path rendering Functional Improvements
 
SIGGRAPH Asia 2012: GPU-accelerated Path Rendering
SIGGRAPH Asia 2012: GPU-accelerated Path RenderingSIGGRAPH Asia 2012: GPU-accelerated Path Rendering
SIGGRAPH Asia 2012: GPU-accelerated Path Rendering
 
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...
Programming with NV_path_rendering:  An Annex to the SIGGRAPH Asia 2012 paper...Programming with NV_path_rendering:  An Annex to the SIGGRAPH Asia 2012 paper...
Programming with NV_path_rendering: An Annex to the SIGGRAPH Asia 2012 paper...
 
GPU-accelerated Path Rendering
GPU-accelerated Path RenderingGPU-accelerated Path Rendering
GPU-accelerated Path Rendering
 
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
SIGGRAPH 2012: GPU-Accelerated 2D and Web RenderingSIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
SIGGRAPH 2012: GPU-Accelerated 2D and Web Rendering
 
GTC 2012: NVIDIA OpenGL in 2012
GTC 2012: NVIDIA OpenGL in 2012GTC 2012: NVIDIA OpenGL in 2012
GTC 2012: NVIDIA OpenGL in 2012
 
CS 354 Final Exam Review
CS 354 Final Exam ReviewCS 354 Final Exam Review
CS 354 Final Exam Review
 
CS 354 Surfaces, Programmable Tessellation, and NPR Graphics
CS 354 Surfaces, Programmable Tessellation, and NPR GraphicsCS 354 Surfaces, Programmable Tessellation, and NPR Graphics
CS 354 Surfaces, Programmable Tessellation, and NPR Graphics
 
CS 354 Performance Analysis
CS 354 Performance AnalysisCS 354 Performance Analysis
CS 354 Performance Analysis
 
CS 354 Acceleration Structures
CS 354 Acceleration StructuresCS 354 Acceleration Structures
CS 354 Acceleration Structures
 
CS 354 Global Illumination
CS 354 Global IlluminationCS 354 Global Illumination
CS 354 Global Illumination
 
CS 354 Ray Casting & Tracing
CS 354 Ray Casting & TracingCS 354 Ray Casting & Tracing
CS 354 Ray Casting & Tracing
 
CS 354 Typography
CS 354 TypographyCS 354 Typography
CS 354 Typography
 
CS 354 Vector Graphics & Path Rendering
CS 354 Vector Graphics & Path RenderingCS 354 Vector Graphics & Path Rendering
CS 354 Vector Graphics & Path Rendering
 

Kürzlich hochgeladen

+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
WSO2
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Kürzlich hochgeladen (20)

A Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source MilvusA Beginners Guide to Building a RAG App Using Open Source Milvus
A Beginners Guide to Building a RAG App Using Open Source Milvus
 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
Ransomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdfRansomware_Q4_2023. The report. [EN].pdf
Ransomware_Q4_2023. The report. [EN].pdf
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
 
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ..."I see eyes in my soup": How Delivery Hero implemented the safety system for ...
"I see eyes in my soup": How Delivery Hero implemented the safety system for ...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
Apidays Singapore 2024 - Scalable LLM APIs for AI and Generative AI Applicati...
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
Real Time Object Detection Using Open CV
Real Time Object Detection Using Open CVReal Time Object Detection Using Open CV
Real Time Object Detection Using Open CV
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
 
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
Web Form Automation for Bonterra Impact Management (fka Social Solutions Apri...
 
Architecting Cloud Native Applications
Architecting Cloud Native ApplicationsArchitecting Cloud Native Applications
Architecting Cloud Native Applications
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024FWD Group - Insurer Innovation Award 2024
FWD Group - Insurer Innovation Award 2024
 

NVIDIA Graphics, Cg, and Transparency

  • 1.  
  • 2. NVIDIA Graphics, Cg, and Transparency Mark Kilgard Graphics Software Engineer NVIDIA Corporation GPU Shading and Rendering Course 3 July 30, 2006
  • 3.
  • 4. Seven Years of GeForce DX9c 2.0 Transparency antialiasing, quad-GPU GeForce 7800 GTX 2005 DX9c 2.0 Vertex textures, structured fragment branching, non-power-of-two textures, generalized floating-point textures, floating-point texture filtering and blending, dual-GPU GeForce 6800 Ultra 2004 DX9c 2.1 Single-board dual-GPU, process efficiency GeForce 7900 GTX 2006 DX9 1.5 Vertex program branching, floating-point fragment programs, 16 texture units, limited floating-point textures, color & depth compression GeForce FX 2003 DX8.1 1.4 Early Z culling, dual-monitor GeForce4 Ti 4600 2002 DX8 1.4 Programmable vertex transformation, 4 texture units, dependent textures, 3D textures, shadow maps, multisampling, occlusion queries GeForce3 2001 DX7 1.3 Hardware transform & lighting, configurable fixed-point shading, cube maps, texture compression, anisotropic texture filtering GeForce 256 2000 Direct3D Version OpenGL Version New Features Product
  • 5.
  • 6.
  • 7. 2006: GeForce 7950 GX2, SLI-on-a-card DVI x 2 sVideo TV Out 16x PCI-Express Sandwich of two printed circuit boards Two GeForce 7 Series GPUs 500 Mhz core 1 GB video memory 512 MB per GPU 1,200 Mhz effective Effective 512-bit memory interface!
  • 8. GeForce Peak Vertex Processing Trends Millions of vertices per second Vertex units 1 1 2 3 6 8 8 2 ×8 rate for trivial 4x4 vertex transform exceeds peak setup rates—allows excess vertex processing Assumes Alternate Frame Rendering (AFR) SLI Mode
  • 9. GeForce Peak Triangle Setup Trends Millions of triangles per second assumes 50% face culling Assumes Alternate Frame Rendering (AFR) SLI Mode
  • 10. GeForce Peak Memory Bandwidth Trends Gigabytes per second Two physical 256-bit memory interfaces 128-bit interface 256-bit interface
  • 11.
  • 12. NVIDIA Graphics Core and Memory Clock Rates Megahertz (Mhz) DDR memory transition—memory rates double physical clock rate
  • 13. GeForce Peak Texture Fetch Trends Millions of texture fetches per second Texture units 2 ×4 2×4 2×4 2×4 16 24 24 2 ×24 assuming no texture cache misses
  • 14. GeForce Peak Depth/Stencil-only Fill assuming no read-modify-write Millions of depth/stencil pixel updates per second double speed depth-stencil only
  • 15. GeForce Transistor Count and Semiconductor Process Millions of transistors Process ( nm ) 180 180 150 130 130 110 90 90 More performance with fewer transistors: Architectural & process efficiency!
  • 16. GeForce 7900 GTX Parallelism Triangle Setup/Raster Shader Instruction Dispatch Fragment Crossbar Memory Partition Memory Partition Memory Partition Memory Partition Z-Cull 8 Vertex Engines 24 Fragment Shaders 16 Raster Operation Pipelines
  • 17. 16 GeForce FX 5900 GeForce 6800 Ultra Vertex Fragment 2 nd Texture Fetch 3 6 4+4 Raster Color Raster Depth 4+4 16+16 GeForce 7900 GTX Hardware Unit 8 24 16+16
  • 18.
  • 19.
  • 20. Giga Flops Imbalance Theoretical programmable IEEE 754 single-precision Giga Flops
  • 21.
  • 22.
  • 23. Per-primitive processing example: Automatic silhouette edge rendering emit edge of adjacent triangles that face opposite directions New triangle adjacency primitive = 3 conventional vertices + 3 vertices for adjacent triangles
  • 24.
  • 25. Uses of DirectX 10 functionality GPU Marching Cubes GPU Cloth Styled Line Drawing Deformable Collisions Sparkling Sprites Table-free Noise Deep Waves GPU Fluid Simulation
  • 26.
  • 27.  
  • 28.
  • 29. Vertex Cores Fragment Cores Raster Color Cores Raster Depth Cores GeForce 7900 GTX Hardware Unit 8 24 16+16 GeForce 7900 GTX Quad SLI 32 96 64+64
  • 30. Cg: C for Graphics
  • 31.
  • 32. Evolution of Cg C (AT&T, 1970’s) C++ (AT&T, 1983) Java (Sun, 1994) RenderMan (Pixar, 1988) PixelFlow Shading Language (UNC, 1998) Real-Time Shading Language (Stanford, 2001) Cg / HLSL (NVIDIA/Microsoft, 2002) IRIS GL (SGI, 1982) OpenGL (ARB, 1992) Direct3D (Microsoft, 1995) Reality Lab (RenderMorphics, 1994) General-purpose languages Graphics Application Program Interfaces Shading Languages
  • 33.
  • 34.
  • 35.
  • 36.
  • 37.
  • 38. Logical Programmable Graphics Pipeline 3D Application or Game 3D API: OpenGL or Direct3D Driver Programmable Vertex Processor Primitive Assembly Rasterization & Interpolation 3D API Commands Transformed Vertices Assembled Polygons, Lines, and Points GPU Command & Data Stream Programmable Fragment Processor Rasterized Pre-transformed Fragments Transformed Fragments Raster Operations Framebuffer Pixel Updates GPU Front End Pre-transformed Vertices Vertex Index Stream Pixel Location Stream CPU – GPU Boundary Program vertex and fragment domains
  • 39. Future Logical Programmable Graphics Pipeline 3D Application or Game 3D API: OpenGL or Direct3D Driver Programmable Vertex Processor Primitive Assembly Rasterization & Interpolation 3D API Commands Transformed Vertices Output assembled Polygons, Lines, and Points GPU Command & Data Stream Programmable Fragment Processor Rasterized Pre-transformed Fragments Transformed Fragments Raster Operations Framebuffer Pixel Updates GPU Front End Pre-transformed Vertices Vertex Index Stream Pixel Location Stream CPU – GPU Boundary Programmable Primitive Processor Input assembled Polygons, Lines, and Points New per-primitive “geometry” programmable domain
  • 40.
  • 41.
  • 42. Transparency: The Good vs. the Ugly
  • 43. Peeled layer visualization composite layers Fragment count per layer
  • 44. Another example: The Good vs. the Ugly
  • 45. Another peeled layer visualization composite layers Fragment count per layer
  • 47.
  • 48.
  • 49.
  • 50.

Hinweis der Redaktion

  1. 10/13/09
  2. 10/13/09