A Bandwidth Effective Rendering Scheme for 3D Texture-based Volume Visualization on GPU
|
|
- Catherine Lester
- 6 years ago
- Views:
Transcription
1 for 3D Texture-based Volume Visualization on GPU Won-Jong Lee, Tack-Don Han Media System Laboratory ( Dept. of Computer Science, Yonsei University, Seoul, Korea
2 Contents Background & Proposed Octree-based Bandwidth Effective Volume Rendering al Results
3
4 Why Volume Rendering? Overcome limitation of polygon-based rendering Volume rendering generate photorealistic and nonphotorealistic scene 3D Texture VR Limitation Polygon Dataset Polygonal Rendering Rendering Volume Dataset Volume Rendering Real Object
5 Application#1 Visualization 3D Texture VR Limitation material sciences geology medical visualization
6 Application#2 - Entertainment atmospheric effects 3D Texture VR Limitation explosions, FX game
7 3D Texture-base Volume Rendering Texture Based Volume-Rendering Low cost & high quality method 3D Texture VR Limitation X-ray like shading(1996) Shading with OpenGL extensions(1998) Shading with Register Combiner & Multi-Texture Units(1999) Classification with Multi-dimensional T/F(2001) GPU ray-casting (2003) Real-time decompression & rendering (2003) NPR for VR (2003) Point-based VR (2004)
8 3D Texture-base Volume Rendering Typical GPU-based volume rendering flow 3D Texture VR Limitation Gradient Computation Shaders and T/F Creation Main Original Volume Data CPU Disk Vertex & Texture Coordinates Volume, Gradients, T/F, Graphic Pre-TnL Texture Pixel GPU Vertex Shader Post-TnL Triangle Setup And Rasterization Pixel Shader Raster Operation Coordinates Transform Classification, 3D Texture Mapping, Lighting Blending
9 3D Texture-base Volume Rendering Typical GPU-based volume rendering flow 3D Texture VR Limitation Gradient Computation Shaders and T/F Creation Main Original Volume Data CPU Disk Vertex & Texture Coordinates Volume, Gradients, T/F, Graphic Pre-TnL Texture Pixel GPU Vertex Shader Post-TnL Triangle Setup And Rasterization Pixel Shader Raster Operation Coordinates Transform Classification, 3D Texture Mapping, Lighting Blending
10 3D Texture-base Volume Rendering Typical GPU-based volume rendering flow 3D Texture VR Limitation Gradient Computation Shaders and T/F Creation Main Original Volume Data CPU Disk Vertex & Texture Coordinates Volume, Gradients, T/F, Graphic Pre-TnL Texture Pixel GPU Vertex Shader Post-TnL Triangle Setup And Rasterization Pixel Shader Raster Operation Coordinates Transform Classification, 3D Texture Mapping, Lighting Blending
11 3D Texture-base Volume Rendering Typical GPU-based volume rendering flow 3D Texture VR Limitation Gradient Computation Shaders and T/F Creation Main Original Volume Data CPU Disk Vertex & Texture Coordinates Volume, Gradients, T/F, Graphic Pre-TnL Texture Pixel GPU Vertex Shader Post-TnL Triangle Setup And Rasterization Pixel Shader Raster Operation Coordinates Transform Classification, 3D Texture Mapping, Lighting Blending
12 3D Texture-base Volume Rendering Typical GPU-based volume rendering flow 3D Texture VR Limitation Gradient Computation Shaders and T/F Creation Main Original Volume Data CPU Disk Vertex & Texture Coordinates Volume, Gradients, T/F, Graphic Pre-TnL Texture Pixel GPU Vertex Shader Post-TnL Triangle Setup And Rasterization Pixel Shader Raster Operation Coordinates Transform Classification, 3D Texture Mapping, Lighting Blending
13 3D Texture-base Volume Rendering Typical GPU-based volume rendering flow 3D Texture VR Limitation Gradient Computation Shaders and T/F Creation Main Original Volume Data CPU Disk Vertex & Texture Coordinates Volume, Gradients, T/F, Graphic Pre-TnL Texture Pixel GPU Vertex Shader Post-TnL Triangle Setup And Rasterization Pixel Shader Raster Operation Coordinates Transform Classification, 3D Texture Mapping, Lighting Blending
14 Limitation of 3D Texture Mapping The size of volume data sets can be processed is still limited usually, MB graphic memory, middle sized(512 3 ) 8 16bit volume data, 256MB 512MB Gradient Computation Shaders and T/F Creation Main Original Volume Data CPU Disk Vertex & Texture Coordinates Volume, Gradients, T/F, Graphic Pre-TnL Texture Pixel GPU Vertex Shader Post-TnL Triangle Setup And Rasterization Pixel Shader Raster Operation 3D Texture VR Limitation Coordinates Transform Classification, 3D Texture Mapping, Lighting Blending
15 Limitation of 3D Texture Mapping Bottleneck in graphic memory bus lots of texture & pixel traffic (interpolation, α-blending) Lower localities in texture mapping & blending operation 3D Texture VR Limitation 1, request Pixel Gradient Computation Shader2,3,4 Hit! Shaders and T/F Creation 5,6,7,8, Miss!! Texture Threshing! 1,2,3,4 load u Main Graphic Original Volume Data CPU Disk t Vertex & Texture Coordinates Volume, Gradients, T/F, s Graphic Pre-TnL Texture Pixel GPU Vertex Shader Post-TnL Triangle Setup And Rasterization Pixel Shader Raster Operation Coordinates Transform Classification, 3D Texture Mapping, Lighting Blending
16 Limitation of 3D Texture Mapping Bottleneck in graphic memory bus lots of texture & pixel traffic (interpolation, α- blending) Lower localities in texture mapping & blending operation GPU Blending Unit Gradient Computation Pixel Shaders and T/F Creation Hit! Main Miss!! Original Volume Data CPU Disk Graphic Vertex & Texture Coordinates Volume, Gradients, T/F, Graphic Pre-TnL Texture Pixel Vertex Shader Post-TnL Triangle Setup And Rasterization Pixel Shader Raster Operation 3D Texture VR Limitation Coordinates Transform Classification, 3D Texture Mapping, Lighting Blending
17 Limitation of 3D Texture Mapping Brute-forced approach classical optimization technique cannot be utilized (empty-space skipping, early-ray termination) 3D Texture VR Limitation unable to skip space Gradient Computation Shaders and T/F Creation Main Original Volume Data CPU Disk Vertex & Texture Coordinates Volume, Gradients, T/F, Graphic Pre-TnL Texture Pixel GPU Vertex Shader Post-TnL Triangle Setup And Rasterization Pixel Shader Raster Operation Coordinates Transform Classification, 3D Texture Mapping, Lighting Blending
18 Contributions of This Research Propose an sub-division based rendering algorithm for GPU bandwidth-effectiveness Enabling empty space skipping for optimized rendering Utilizing modern GPU features for low-cost texture coordinate computation Build-up for effective H/W simulation environments for GPU based rendering
19
20 I.Boada, I.Navazo, and R.Scopigno. Multiresolution Volume Visualization with a Texture-Based Octree. The Visual Computer, 17(3), , VR on GPU Multi-resolution Empty Space Skipping AMR tree level (a) level (b) level (c)
21 W. Li, K. Mueller, and A. Kaufman, Empty Space Skipping and Occlusion Clipping for Texture-Based Volume Rendering, In Proc. of IEEE Visualization 2003, pages , VR on GPU Multi-resolution Empty Space Skipping AMR tree partitioned by the growing boxes converted into a BSP tree Rendering with mixed boxes and texture
22 R. Kauhler, M. Simon, and H. C. Hege, Interactive Volume Rendering of Large Sparse Data Sets Using Adaptive Mesh Refinement Hierarchies, IEEE Transactions on Visualization and Computer Graphics, VOL. 9, NO. 3, JULY-SEPTEMBER 2003, pages VR on GPU Multi-resolution Empty Space Skipping AMR tree Standard w/ Octree w/ AMR tree
23 Proposed Method
24 Proposed Octree-based V/R Octree based Empty Space Skipping Octree Hierarchy Rendering unable to skip empty space Sub-division enabling empty empty space space checking skipping standard method proposed method
25 Proposed Octree-based V/R Efficiency Octree Hierarchy Rendering standard method texture cache pixel cache proposed method texture cache pixel cache HIT HIT for each sub-volume MISS only cold MISS on switching sub-volume
26 Proposed Octree-based V/R Rendering Octree in GPU Utilizing the property of regular sized sub-volumes Easy to detect visibility order of each sub-volume Octree Hierarchy Rendering Incremental texture coordinates computations in GPU
27 al Results
28 Benchmarks Environment Analysis Texture Pixel Total Bandwidth Frame Rates Lobster (255x255x56) Engine (255x255x110) Foot (255x255x255) CTdata (255x255x255)
29 GPU Simulation Environment #1 CPU-based software simulation For evaluating cache efficiency, memory bandwidth compile with Cg compiler (cgc) Cg vertex & fragment shader NV_vertex_program NV_fragment_program GL function & shader assembly call Mesa 6.0 (fully compatible with OpenGL 1.5) Environment Analysis Texture Pixel Total Bandwidth Frame Rates C++ OpenGL application Dinero III scene cache simulation results Make comparison with standard and proposed method Under perfectly same cache configuration fully associative cache, 32Bytes block, 1~128KBytes cache 512x512 screen size, 10 frame rendered
30 GPU Simulation Environment #2 GPU-based hardware experiment For evaluating rendering speedup Cg vertex & fragment shader compile with Cg compiler (cgc) GL function call Environment Analysis Texture Pixel Total Bandwidth Frame Rates NV_vertex_program NV_fragment_program Standard OpenGL library (opengl32.dll) C++ OpenGL application GPU scene & frame rates result load Shader assembly to GPU Make comparison with standard and proposed method Under perfectly same condition Pentium IV 2.80GHz PC with 512MB RDRAM & AGP8x bus Nvidia GeForce FX 5900 with 256MB graphic memory
31 Trade-Off Analysis Average number of vertices per frame (K) lobster engine foot ctdata 256^3 128^3 64^3 32^3 16^3 8^3 The size of a sub-volume Non-empty region ratio lobster engine foot ctdata 256^3 128^3 64^3 32^3 16^3 8^3 The size of a sub-volume Environment Analysis Texture Pixel Total Bandwidth Frame Rates Average # of Vertices per Frame Non-Empty Region Ratio
32 Miss Rates Texture 20% NSD OSD(64^3) OSD(32^3) OSD(16^3) 20% NSD OSD(64^3) OSD(32^3) OSD(16^3) Miss Rate(%) 18% 16% 14% 12% 10% 8% 6% 4% 2% Miss Rate(%) 18% 16% 14% 12% 10% 8% 6% 4% 2% Environment Analysis Texture Pixel Total Bandwidth Frame Rates 0% Texture Size(KBytes) Lobster (255x255x56) 0% Texture Size(KBytes) Engine (255x255x110) NSD OSD(64^3) OSD(32^3) OSD(16^3) NSD OSD(64^3) OSD(32^3) OSD(16^3) 20% 20% 18% 18% 16% 16% 14% 14% Miss Rates(%) 12% 10% 8% Miss Rates(%) 12% 10% 8% 6% 6% 4% 4% 2% 2% 0% Texture Size(KBytes) Foot (255x255x255) 0% Texture Size(KBytes) CTdata (255x255x255) NSD : Non-Subdivided OSD : Octree Subdivided (number) : size of sub-volume
33 Miss Rates Pixel (Color) Miss Rate (%) NSD OSD(64^3) OSD(32^3) OSD(16^3) 5.5% 5.0% 4.5% 4.0% 3.5% 3.0% 2.5% 2.0% 1.5% 1.0% 0.5% Miss Rate (%) NSD OSD(64^3) OSD(32^3) OSD(16^3) 5.0% 4.5% 4.0% 3.5% 3.0% 2.5% 2.0% 1.5% 1.0% 0.5% Environment Analysis Texture Pixel Total Bandwidth Frame Rates 0.0% % Color Size (KB) Lobster (255x255x56) Color Size (KB) Engine (255x255x110) 5.5% 5.0% 4.5% NSD OSD(64^3) OSD(32^3) OSD(16^3) 5.0% 4.5% 4.0% NSD OSD(64^3) OSD(32^3) OSD(16^3) 4.0% 3.5% Miss Rate (%) 3.5% 3.0% 2.5% 2.0% 1.5% 1.0% 0.5% 0.0% Color Size (KB) Foot (255x255x255) Miss Rate (%) 3.0% 2.5% 2.0% 1.5% 1.0% 0.5% 0.0% Color Size (KB) CTdata (255x255x255) NSD : Non-Subdivided OSD : Octree Subdivided (number) : size of sub-volume
34 Miss Rates Pixel (Depth) 10% NSD OSD(64^3) OSD(32^3) OSD(16^3) 10% NSD OSD(64^3) OSD(32^3) OSD(16^3) Miss Rate (%) 9% 8% 7% 6% 5% 4% 3% 2% 1% Miss Rate (%) 9% 8% 7% 6% 5% 4% 3% 2% 1% Environment Analysis Texture Pixel Total Bandwidth Frame Rates 0% % Depth Size (KB) Lobster (255x255x56) Depth Size (KB) Engine (255x255x110) NSD OSD(64^3) OSD(32^3) OSD(16^3) NSD OSD(64^3) OSD(32^3) OSD(16^3) 10% 10% 9% 9% 8% 8% 7% 7% Miss Rate (%) 6% 5% 4% Miss Rate (%) 6% 5% 4% 3% 3% 2% 2% 1% 1% 0% Depth Size (KB) Foot (255x255x255) 0% Depth Size (KB) CTdata (255x255x255) NSD : Non-Subdivided OSD : Octree Subdivided (number) : size of sub-volume
35 Total Bandwidth Comparison #1 for 10 frames NSD : Non Sub-Divided standard method, OSD : Octree-based Sub-Divided method Environment Analysis Texture Pixel Total Bandwidth Frame Rates At best case, 29x reduced! Even worst case, 8Mbytes increased!
36 Total Bandwidth Comparison #2 for 10 frames Environment Analysis Texture Pixel Total Bandwidth Frame Rates
37 Rendering Performance Environment Analysis Texture Pixel Total Bandwidth Frame Rates NSD : Non Sub-Divided standard method, OSD : Octree-based Sub-Divided method
38 & Future work Octree based Bandwidth-Effective Volume Rendering Maximize the temporal & spacial locality of memory access Enable the empty space skipping 2~29x bandwidth reduction 2~6x faster rendering Application Volumetric Effects
A Bandwidth Reduction Scheme for 3D Texture-Based Volume Rendering on Commodity Graphics Hardware
A Bandwidth Reduction Scheme for 3D Texture-Based Volume Rendering on Commodity Graphics Hardware 1 Won-Jong Lee, 2 Woo-Chan Park, 3 Jung-Woo Kim, 1 Tack-Don Han, 1 Sung-Bong Yang, and 1 Francis Neelamkavil
More informationHardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences
Hardware Accelerated Volume Visualization Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences A Real-Time VR System Real-Time: 25-30 frames per second 4D visualization: real time input of
More informationStructure. Woo-Chan Park, Kil-Whan Lee, Seung-Gi Lee, Moon-Hee Choi, Won-Jong Lee, Cheol-Ho Jeong, Byung-Uck Kim, Woo-Nam Jung,
A High Performance 3D Graphics Rasterizer with Effective Memory Structure Woo-Chan Park, Kil-Whan Lee, Seung-Gi Lee, Moon-Hee Choi, Won-Jong Lee, Cheol-Ho Jeong, Byung-Uck Kim, Woo-Nam Jung, Il-San Kim,
More informationCS427 Multicore Architecture and Parallel Computing
CS427 Multicore Architecture and Parallel Computing Lecture 6 GPU Architecture Li Jiang 2014/10/9 1 GPU Scaling A quiet revolution and potential build-up Calculation: 936 GFLOPS vs. 102 GFLOPS Memory Bandwidth:
More informationHardware-driven Visibility Culling Jeong Hyun Kim
Hardware-driven Visibility Culling Jeong Hyun Kim KAIST (Korea Advanced Institute of Science and Technology) Contents Introduction Background Clipping Culling Z-max (Z-min) Filter Programmable culling
More informationX. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1
X. GPU Programming 320491: Advanced Graphics - Chapter X 1 X.1 GPU Architecture 320491: Advanced Graphics - Chapter X 2 GPU Graphics Processing Unit Parallelized SIMD Architecture 112 processing cores
More informationGraphics Hardware. Instructor Stephen J. Guy
Instructor Stephen J. Guy Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability! Programming Examples Overview What is a GPU Evolution of GPU GPU Design Modern Features Programmability!
More informationEnhancing Traditional Rasterization Graphics with Ray Tracing. October 2015
Enhancing Traditional Rasterization Graphics with Ray Tracing October 2015 James Rumble Developer Technology Engineer, PowerVR Graphics Overview Ray Tracing Fundamentals PowerVR Ray Tracing Pipeline Using
More informationCS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1 Markus Hadwiger, KAUST Reading Assignment #2 (until Feb. 17) Read (required): GLSL book, chapter 4 (The OpenGL Programmable
More informationReal - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský
Real - Time Rendering Graphics pipeline Michal Červeňanský Juraj Starinský Overview History of Graphics HW Rendering pipeline Shaders Debugging 2 History of Graphics HW First generation Second generation
More informationEvolution of GPUs Chris Seitz
Evolution of GPUs Chris Seitz Overview Concepts: Real-time rendering Hardware graphics pipeline Evolution of the PC hardware graphics pipeline: 1995-1998: Texture mapping and z-buffer 1998: Multitexturing
More informationCOMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.
COMP 4801 Final Year Project Ray Tracing for Computer Graphics Final Project Report FYP 15014 by Runjing Liu Advised by Dr. L.Y. Wei 1 Abstract The goal of this project was to use ray tracing in a rendering
More informationGPU-based Volume Rendering. Michal Červeňanský
GPU-based Volume Rendering Michal Červeňanský Outline Volume Data Volume Rendering GPU rendering Classification Speed-up techniques Other techniques 2 Volume Data Describe interior structures Liquids,
More informationGraphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics
Why GPU? Chapter 1 Graphics Hardware Graphics Processing Unit (GPU) is a Subsidiary hardware With massively multi-threaded many-core Dedicated to 2D and 3D graphics Special purpose low functionality, high
More informationGraphics Processing Unit Architecture (GPU Arch)
Graphics Processing Unit Architecture (GPU Arch) With a focus on NVIDIA GeForce 6800 GPU 1 What is a GPU From Wikipedia : A specialized processor efficient at manipulating and displaying computer graphics
More informationProgramming Graphics Hardware
Tutorial 5 Programming Graphics Hardware Randy Fernando, Mark Harris, Matthias Wloka, Cyril Zeller Overview of the Tutorial: Morning 8:30 9:30 10:15 10:45 Introduction to the Hardware Graphics Pipeline
More informationVolume Graphics Introduction
High-Quality Volume Graphics on Consumer PC Hardware Volume Graphics Introduction Joe Kniss Gordon Kindlmann Markus Hadwiger Christof Rezk-Salama Rüdiger Westermann Motivation (1) Motivation (2) Scientific
More informationCSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller
Entertainment Graphics: Virtual Realism for the Masses CSE 591: GPU Programming Introduction Computer games need to have: realistic appearance of characters and objects believable and creative shading,
More informationDirect Rendering of Trimmed NURBS Surfaces
Direct Rendering of Trimmed NURBS Surfaces Hardware Graphics Pipeline 2/ 81 Hardware Graphics Pipeline GPU Video Memory CPU Vertex Processor Raster Unit Fragment Processor Render Target Screen Extended
More informationArchitectures. Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1
Architectures Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1 Overview of today s lecture The idea is to cover some of the existing graphics
More informationRay Casting of Trimmed NURBS Surfaces on the GPU
Ray Casting of Trimmed NURBS Surfaces on the GPU Hans-Friedrich Pabst Jan P. Springer André Schollmeyer Robert Lenhardt Christian Lessig Bernd Fröhlich Bauhaus University Weimar Faculty of Media Virtual
More informationOptimizing DirectX Graphics. Richard Huddy European Developer Relations Manager
Optimizing DirectX Graphics Richard Huddy European Developer Relations Manager Some early observations Bear in mind that graphics performance problems are both commoner and rarer than you d think The most
More informationLecture 2. Shaders, GLSL and GPGPU
Lecture 2 Shaders, GLSL and GPGPU Is it interesting to do GPU computing with graphics APIs today? Lecture overview Why care about shaders for computing? Shaders for graphics GLSL Computing with shaders
More informationRendering. Converting a 3D scene to a 2D image. Camera. Light. Rendering. View Plane
Rendering Pipeline Rendering Converting a 3D scene to a 2D image Rendering Light Camera 3D Model View Plane Rendering Converting a 3D scene to a 2D image Basic rendering tasks: Modeling: creating the world
More informationOptimizing for DirectX Graphics. Richard Huddy European Developer Relations Manager
Optimizing for DirectX Graphics Richard Huddy European Developer Relations Manager Also on today from ATI... Start & End Time: 12:00pm 1:00pm Title: Precomputed Radiance Transfer and Spherical Harmonic
More informationNext-Generation Graphics on Larrabee. Tim Foley Intel Corp
Next-Generation Graphics on Larrabee Tim Foley Intel Corp Motivation The killer app for GPGPU is graphics We ve seen Abstract models for parallel programming How those models map efficiently to Larrabee
More informationA New Bandwidth Reduction Method for Distributed Rendering Systems
A New Bandwidth Reduction Method for Distributed Rendering Systems Won-Jong Lee, Hyung-Rae Kim, Woo-Chan Park, Jung-Woo Kim, Tack-Don Han, and Sung-Bong Yang Media System Laboratory, Department of Computer
More informationReal-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010
1 Real-Time Ray Tracing Using Nvidia Optix Holger Ludvigsen & Anne C. Elster 2010 Presentation by Henrik H. Knutsen for TDT24, fall 2012 Om du ønsker, kan du sette inn navn, tittel på foredraget, o.l.
More informationThe Application Stage. The Game Loop, Resource Management and Renderer Design
1 The Application Stage The Game Loop, Resource Management and Renderer Design Application Stage Responsibilities 2 Set up the rendering pipeline Resource Management 3D meshes Textures etc. Prepare data
More informationEnhancing Traditional Rasterization Graphics with Ray Tracing. March 2015
Enhancing Traditional Rasterization Graphics with Ray Tracing March 2015 Introductions James Rumble Developer Technology Engineer Ray Tracing Support Justin DeCell Software Design Engineer Ray Tracing
More informationReal - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský
Real - Time Rendering Pipeline optimization Michal Červeňanský Juraj Starinský Motivation Resolution 1600x1200, at 60 fps Hw power not enough Acceleration is still necessary 3.3.2010 2 Overview Application
More informationDeferred Rendering Due: Wednesday November 15 at 10pm
CMSC 23700 Autumn 2017 Introduction to Computer Graphics Project 4 November 2, 2017 Deferred Rendering Due: Wednesday November 15 at 10pm 1 Summary This assignment uses the same application architecture
More informationCS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside
CS230 : Computer Graphics Lecture 4 Tamar Shinar Computer Science & Engineering UC Riverside Shadows Shadows for each pixel do compute viewing ray if ( ray hits an object with t in [0, inf] ) then compute
More informationRSX Best Practices. Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog
RSX Best Practices Mark Cerny, Cerny Games David Simpson, Naughty Dog Jon Olick, Naughty Dog RSX Best Practices About libgcm Using the SPUs with the RSX Brief overview of GCM Replay December 7 th, 2004
More informationParallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)
Lecture 2: Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload) Visual Computing Systems Today Finishing up from last time Brief discussion of graphics workload metrics
More informationSpring 2009 Prof. Hyesoon Kim
Spring 2009 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationlecture 18 - ray tracing - environment mapping - refraction
lecture 18 - ray tracing - environment mapping - refraction Recall Ray Casting (lectures 7, 8) for each pixel (x,y) { cast a ray through that pixel into the scene, and find the closest surface along the
More informationCSE 167: Introduction to Computer Graphics Lecture #5: Rasterization. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015
CSE 167: Introduction to Computer Graphics Lecture #5: Rasterization Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2015 Announcements Project 2 due tomorrow at 2pm Grading window
More informationAn Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering
An Efficient Approach for Emphasizing Regions of Interest in Ray-Casting based Volume Rendering T. Ropinski, F. Steinicke, K. Hinrichs Institut für Informatik, Westfälische Wilhelms-Universität Münster
More informationDiFi: Distance Fields - Fast Computation Using Graphics Hardware
DiFi: Distance Fields - Fast Computation Using Graphics Hardware Avneesh Sud Dinesh Manocha UNC-Chapel Hill http://gamma.cs.unc.edu/difi Distance Fields Distance Function For a site a scalar function f:r
More information2.11 Particle Systems
2.11 Particle Systems 320491: Advanced Graphics - Chapter 2 152 Particle Systems Lagrangian method not mesh-based set of particles to model time-dependent phenomena such as snow fire smoke 320491: Advanced
More informationParallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)
Lecture 2: Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload) Visual Computing Systems Analyzing a 3D Graphics Workload Where is most of the work done? Memory Vertex
More informationThe Rasterization Pipeline
Lecture 5: The Rasterization Pipeline (and its implementation on GPUs) Computer Graphics CMU 15-462/15-662, Fall 2015 What you know how to do (at this point in the course) y y z x (w, h) z x Position objects
More informationHardware-driven visibility culling
Hardware-driven visibility culling I. Introduction 20073114 김정현 The goal of the 3D graphics is to generate a realistic and accurate 3D image. To achieve this, it needs to process not only large amount
More informationReal-Time Rendering (Echtzeitgraphik) Michael Wimmer
Real-Time Rendering (Echtzeitgraphik) Michael Wimmer wimmer@cg.tuwien.ac.at Walking down the graphics pipeline Application Geometry Rasterizer What for? Understanding the rendering pipeline is the key
More informationCSE 591/392: GPU Programming. Introduction. Klaus Mueller. Computer Science Department Stony Brook University
CSE 591/392: GPU Programming Introduction Klaus Mueller Computer Science Department Stony Brook University First: A Big Word of Thanks! to the millions of computer game enthusiasts worldwide Who demand
More informationOverview. Pipeline implementation I. Overview. Required Tasks. Preliminaries Clipping. Hidden Surface removal
Overview Pipeline implementation I Preliminaries Clipping Line clipping Hidden Surface removal Overview At end of the geometric pipeline, vertices have been assembled into primitives Must clip out primitives
More informationEnabling immersive gaming experiences Intro to Ray Tracing
Enabling immersive gaming experiences Intro to Ray Tracing Overview What is Ray Tracing? Why Ray Tracing? PowerVR Wizard Architecture Example Content Unity Hybrid Rendering Demonstration 3 What is Ray
More information3/1/2010. Acceleration Techniques V1.2. Goals. Overview. Based on slides from Celine Loscos (v1.0)
Acceleration Techniques V1.2 Anthony Steed Based on slides from Celine Loscos (v1.0) Goals Although processor can now deal with many polygons (millions), the size of the models for application keeps on
More informationGraphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal
Graphics Hardware, Graphics APIs, and Computation on GPUs Mark Segal Overview Graphics Pipeline Graphics Hardware Graphics APIs ATI s low-level interface for computation on GPUs 2 Graphics Hardware High
More informationTutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI
Tutorial on GPU Programming #2 Joong-Youn Lee Supercomputing Center, KISTI Contents Graphics Pipeline Vertex Programming Fragment Programming Introduction to Cg Language Graphics Pipeline The process to
More informationThe Ultimate Developers Toolkit. Jonathan Zarge Dan Ginsburg
The Ultimate Developers Toolkit Jonathan Zarge Dan Ginsburg February 20, 2008 Agenda GPU PerfStudio GPU ShaderAnalyzer RenderMonkey Additional Tools Tootle GPU MeshMapper CubeMapGen The Compressonator
More informationPerformance Analysis and Culling Algorithms
Performance Analysis and Culling Algorithms Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1 Assignment 2 Sign up for Pluto labs on the web
More informationCS451Real-time Rendering Pipeline
1 CS451Real-time Rendering Pipeline JYH-MING LIEN DEPARTMENT OF COMPUTER SCIENCE GEORGE MASON UNIVERSITY Based on Tomas Akenine-Möller s lecture note You say that you render a 3D 2 scene, but what does
More informationShadows. COMP 575/770 Spring 2013
Shadows COMP 575/770 Spring 2013 Shadows in Ray Tracing Shadows are important for realism Basic idea: figure out whether a point on an object is illuminated by a light source Easy for ray tracers Just
More informationL10 Layered Depth Normal Images. Introduction Related Work Structured Point Representation Boolean Operations Conclusion
L10 Layered Depth Normal Images Introduction Related Work Structured Point Representation Boolean Operations Conclusion 1 Introduction Purpose: using the computational power on GPU to speed up solid modeling
More informationSpring 2011 Prof. Hyesoon Kim
Spring 2011 Prof. Hyesoon Kim Application Geometry Rasterizer CPU Each stage cane be also pipelined The slowest of the pipeline stage determines the rendering speed. Frames per second (fps) Executes on
More informationCHAPTER 1 Graphics Systems and Models 3
?????? 1 CHAPTER 1 Graphics Systems and Models 3 1.1 Applications of Computer Graphics 4 1.1.1 Display of Information............. 4 1.1.2 Design.................... 5 1.1.3 Simulation and Animation...........
More informationProgrammable GPUs. Real Time Graphics 11/13/2013. Nalu 2004 (NVIDIA Corporation) GeForce 6. Virtua Fighter 1995 (SEGA Corporation) NV1
Programmable GPUs Real Time Graphics Virtua Fighter 1995 (SEGA Corporation) NV1 Dead or Alive 3 2001 (Tecmo Corporation) Xbox (NV2A) Nalu 2004 (NVIDIA Corporation) GeForce 6 Human Head 2006 (NVIDIA Corporation)
More informationRow Tracing with Hierarchical Occlusion Maps
Row Tracing with Hierarchical Occlusion Maps Ravi P. Kammaje, Benjamin Mora August 9, 2008 Page 2 Row Tracing with Hierarchical Occlusion Maps Outline August 9, 2008 Introduction Related Work Row Tracing
More informationScanline Rendering 2 1/42
Scanline Rendering 2 1/42 Review 1. Set up a Camera the viewing frustum has near and far clipping planes 2. Create some Geometry made out of triangles 3. Place the geometry in the scene using Transforms
More informationCSCI 402: Computer Architectures. Parallel Processors (2) Fengguang Song Department of Computer & Information Science IUPUI.
CSCI 402: Computer Architectures Parallel Processors (2) Fengguang Song Department of Computer & Information Science IUPUI 6.6 - End Today s Contents GPU Cluster and its network topology The Roofline performance
More informationFirst Steps in Hardware Two-Level Volume Rendering
First Steps in Hardware Two-Level Volume Rendering Markus Hadwiger, Helwig Hauser Abstract We describe first steps toward implementing two-level volume rendering (abbreviated as 2lVR) on consumer PC graphics
More informationGeForce4. John Montrym Henry Moreton
GeForce4 John Montrym Henry Moreton 1 Architectural Drivers Programmability Parallelism Memory bandwidth 2 Recent History: GeForce 1&2 First integrated geometry engine & 4 pixels/clk Fixed-function transform,
More informationAdvanced GPU Raycasting
Advanced GPU Raycasting Henning Scharsach VRVis Research Center Vienna, Austria Abstract Modern GPUs offer a degree of programmability that opens up a wide field of applications far beyond processing millions
More informationClipping. Angel and Shreiner: Interactive Computer Graphics 7E Addison-Wesley 2015
Clipping 1 Objectives Clipping lines First of implementation algorithms Clipping polygons (next lecture) Focus on pipeline plus a few classic algorithms 2 Clipping 2D against clipping window 3D against
More informationMali-400 MP: A Scalable GPU for Mobile Devices Tom Olson
Mali-400 MP: A Scalable GPU for Mobile Devices Tom Olson Director, Graphics Research, ARM Outline ARM and Mobile Graphics Design Constraints for Mobile GPUs Mali Architecture Overview Multicore Scaling
More informationIntroduction to Shaders.
Introduction to Shaders Marco Benvegnù hiforce@gmx.it www.benve.org Summer 2005 Overview Rendering pipeline Shaders concepts Shading Languages Shading Tools Effects showcase Setup of a Shader in OpenGL
More informationOptimisation. CS7GV3 Real-time Rendering
Optimisation CS7GV3 Real-time Rendering Introduction Talk about lower-level optimization Higher-level optimization is better algorithms Example: not using a spatial data structure vs. using one After that
More informationPerformance OpenGL Programming (for whatever reason)
Performance OpenGL Programming (for whatever reason) Mike Bailey Oregon State University Performance Bottlenecks In general there are four places a graphics system can become bottlenecked: 1. The computer
More informationRay Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University
Ray Casting on Programmable Graphics Hardware Martin Kraus PURPL group, Purdue University Overview Parallel volume rendering with a single GPU Implementing ray casting for a GPU Basics Optimizations Published
More informationOptimizing Games for ATI s IMAGEON Aaftab Munshi. 3D Architect ATI Research
Optimizing Games for ATI s IMAGEON 2300 Aaftab Munshi 3D Architect ATI Research A A 3D hardware solution enables publishers to extend brands to mobile devices while remaining close to original vision of
More informationDynamic Ambient Occlusion and Indirect Lighting. Michael Bunnell NVIDIA Corporation
Dynamic Ambient Occlusion and Indirect Lighting Michael Bunnell NVIDIA Corporation Environment Lighting Environment Map + Ambient Occlusion + Indirect Lighting New Radiance Transfer Algorithm Useful for
More informationA fixed-point 3D graphics library with energy-efficient efficient cache architecture for mobile multimedia system
MS Thesis A fixed-point 3D graphics library with energy-efficient efficient cache architecture for mobile multimedia system Min-wuk Lee 2004.12.14 Semiconductor System Laboratory Department Electrical
More informationBringing it all together: The challenge in delivering a complete graphics system architecture. Chris Porthouse
Bringing it all together: The challenge in delivering a complete graphics system architecture Chris Porthouse System Integration & the role of standards Content Ecosystem Java Execution Environment Native
More informationCS 354R: Computer Game Technology
CS 354R: Computer Game Technology Texture and Environment Maps Fall 2018 Texture Mapping Problem: colors, normals, etc. are only specified at vertices How do we add detail between vertices without incurring
More informationSpring 2009 Prof. Hyesoon Kim
Spring 2009 Prof. Hyesoon Kim Benchmarking is critical to make a design decision and measuring performance Performance evaluations: Design decisions Earlier time : analytical based evaluations From 90
More informationHidden surface removal. Computer Graphics
Lecture Hidden Surface Removal and Rasterization Taku Komura Hidden surface removal Drawing polygonal faces on screen consumes CPU cycles Illumination We cannot see every surface in scene We don t want
More informationWorking with Metal Overview
Graphics and Games #WWDC14 Working with Metal Overview Session 603 Jeremy Sandmel GPU Software 2014 Apple Inc. All rights reserved. Redistribution or public display not permitted without written permission
More informationCS 130 Exam I. Fall 2015
S 3 Exam I Fall 25 Name Student ID Signature You may not ask any questions during the test. If you believe that there is something wrong with a question, write down what you think the question is trying
More informationCould you make the XNA functions yourself?
1 Could you make the XNA functions yourself? For the second and especially the third assignment, you need to globally understand what s going on inside the graphics hardware. You will write shaders, which
More informationFROM VERTICES TO FRAGMENTS. Lecture 5 Comp3080 Computer Graphics HKBU
FROM VERTICES TO FRAGMENTS Lecture 5 Comp3080 Computer Graphics HKBU OBJECTIVES Introduce basic implementation strategies Clipping Scan conversion OCTOBER 9, 2011 2 OVERVIEW At end of the geometric pipeline,
More informationLecture 6: Texture. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)
Lecture 6: Texture Kayvon Fatahalian CMU 15-869: Graphics and Imaging Architectures (Fall 2011) Today: texturing! Texture filtering - Texture access is not just a 2D array lookup ;-) Memory-system implications
More informationMultiresolution model generation of. texture-geometry for the real-time rendering 1
Multiresolution model generation of texture-geometry for the real-time rendering 1 Contents Contents...i Figures...iv 1. Introduction...1 1.1. Real-time rendering for complex object...1 1.2. Background...3
More informationTSBK03 Screen-Space Ambient Occlusion
TSBK03 Screen-Space Ambient Occlusion Joakim Gebart, Jimmy Liikala December 15, 2013 Contents 1 Abstract 1 2 History 2 2.1 Crysis method..................................... 2 3 Chosen method 2 3.1 Algorithm
More informationProgrammable Shaders for Deformation Rendering
Programmable Shaders for Deformation Rendering Carlos D. Correa, Deborah Silver Rutgers, The State University of New Jersey Motivation We present a different way of obtaining mesh deformation. Not a modeling,
More informationWindowing System on a 3D Pipeline. February 2005
Windowing System on a 3D Pipeline February 2005 Agenda 1.Overview of the 3D pipeline 2.NVIDIA software overview 3.Strengths and challenges with using the 3D pipeline GeForce 6800 220M Transistors April
More informationCourse Recap + 3D Graphics on Mobile GPUs
Lecture 18: Course Recap + 3D Graphics on Mobile GPUs Interactive Computer Graphics Q. What is a big concern in mobile computing? A. Power Two reasons to save power Run at higher performance for a fixed
More informationFast Stereoscopic Rendering on Mobile Ray Tracing GPU for Virtual Reality Applications
Fast Stereoscopic Rendering on Mobile Ray Tracing GPU for Virtual Reality Applications SAMSUNG Advanced Institute of Technology Won-Jong Lee, Seok Joong Hwang, Youngsam Shin, Jeong-Joon Yoo, Soojung Ryu
More informationGetting fancy with texture mapping (Part 2) CS559 Spring Apr 2017
Getting fancy with texture mapping (Part 2) CS559 Spring 2017 6 Apr 2017 Review Skyboxes as backdrops Credits : Flipmode 3D Review Reflection maps Credits : NVidia Review Decal textures Credits : andreucabre.com
More informationModels and Architectures
Models and Architectures Objectives Learn the basic design of a graphics system Introduce graphics pipeline architecture Examine software components for an interactive graphics system 1 Image Formation
More informationgraphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1
graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time
More informationGPU Computation Strategies & Tricks. Ian Buck NVIDIA
GPU Computation Strategies & Tricks Ian Buck NVIDIA Recent Trends 2 Compute is Cheap parallelism to keep 100s of ALUs per chip busy shading is highly parallel millions of fragments per frame 0.5mm 64-bit
More informationWed, October 12, 2011
Practical Occlusion Culling in Killzone 3 Michal Valient Lead Tech, Guerrilla B.V. Talk takeaway Occlusion culling system used in Killzone 3 The reasons why to use software rasterization (Some) technical
More informationgraphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1
graphics pipeline computer graphics graphics pipeline 2009 fabio pellacini 1 graphics pipeline sequence of operations to generate an image using object-order processing primitives processed one-at-a-time
More informationHardware-Assisted Relief Texture Mapping
EUROGRAPHICS 0x / N.N. and N.N. Short Presentations Hardware-Assisted Relief Texture Mapping Masahiro Fujita and Takashi Kanai Keio University Shonan-Fujisawa Campus, Fujisawa, Kanagawa, Japan Abstract
More informationReal-Time Buffer Compression. Michael Doggett Department of Computer Science Lund university
Real-Time Buffer Compression Michael Doggett Department of Computer Science Lund university Project 3D graphics project Demo, Game Implement 3D graphics algorithm(s) C++/OpenGL(Lab2)/iOS/android/3D engine
More informationProgrammable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes
Last Time? Programmable GPUS Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes frame buffer depth buffer stencil buffer Stencil Buffer Homework 4 Reading for Create some geometry "Rendering
More informationPOWERVR MBX. Technology Overview
POWERVR MBX Technology Overview Copyright 2009, Imagination Technologies Ltd. All Rights Reserved. This publication contains proprietary information which is subject to change without notice and is supplied
More informationComparison of High-Speed Ray Casting on GPU
Comparison of High-Speed Ray Casting on GPU using CUDA and OpenGL November 8, 2008 NVIDIA 1,2, Andreas Weinlich 1, Holger Scherl 2, Markus Kowarschik 2 and Joachim Hornegger 1 1 Chair of Pattern Recognition
More information