Tutorial on GPU Programming. Joong-Youn Lee Supercomputing Center, KISTI
|
|
- Rosa Ray
- 5 years ago
- Views:
Transcription
1 Tutorial on GPU Programming Joong-Youn Lee Supercomputing Center, KISTI
2 GPU? Graphics Processing Unit Microprocessor that has been designed specifically for the processing of 3D graphics High Performance Many Restrictions Branching, Control Flow : guarantee Sync. Memory Access if (a>=b) c=d; else c=e; SGE r0, a, b ADD r1, d, -e MAD c, r0, r1, e r0 = (a>=b)?1:0 r1 = d-e c = r0*r1+e
3 CPU & GPU CPU does Application-specific algorithmic code Physics Scene management GPU does T&L Rasterization Texturing / Shading Drawing
4 Graphics Pipeline
5 What is Programming? transform & lighting Program setup rasterizer texture blending frame buffer anti aliasing glenable( GL_VERTEX_PROGRAM_NV ); Bypass the fixed function T&L path and do your own thing in HW.
6 Programming Conceptual Overview Attributes Program Output
7 Programming Conceptual Overview Attributes 16x4 registers Sixteen 4 component vector floating point registers Position, colors, normal User defined vertex parameters: densities, velocities, weights, etc. Program Output
8 Programming Conceptual Overview Attributes 16x4 registers Program 128 instructions Up to 128 program instructions (SIMD) (i.e. add, multiply, etc.) Read vertex attribute registers Write vertex output registers Output
9 Programming Conceptual Overview Attributes 16x4 registers Program 128 instructions Output Program Parameters 96x4 registers Temporary Registers 12x4 registers Modifiable only outside of glbegin/glend pair Read only Read/Write able
10 Programming Conceptual Overview Attributes 16x4 registers Program Parameters Program 128 instructions Output 15x4 registers 96x4 registers Temporary Registers 12x4 registers Fifteen 4 component floating vectors Homogeneous clip space position Primary, secondary colors Fog coord, point size, texture coords.
11 Problems Programming interfaces are low-level Functionality varies between chipsets User Must Support : NV vertex programs NV register combiners ATI vertex shaders ATI fragment shaders Next-generation hardware... DP4 o[hpos].x, v[opos], c[0]; DP4 o[hpos].y, v[opos], c[1]; DP4 o[hpos].z, v[opos], c[2]; DP4 o[hpos].w, v[opos], c[3]; DP3 R0.x, v[nrml], c[4]; DP3 R0,y, v[nrml], c[5]; DP3 R0.z, v[nrml], c[6]; RSQ R0.w, R0.w; MUL R0, R0, R0.w; LIT R0, R0; MUL o[col0].xyz, R0.y, c[8];
12 Low-Level Languages DX8 and DX9 OpenGL ARB ARB_vertex_program ARB_fragment_program NVIDIA OpenGL NV_vertex_program NV_fragment_program Powerful, but difficult to use
13 OpenGL Extensions GL_ARB_vertex_program 17 instructions (ADD, ARL, DP3, DP4 )!!ARBvp1.0 DP4 result.position.x, state.matrix.mvp.row[0], vertex.position; DP4 result.position.y, state.matrix.mvp.row[1], vertex.position; DP4 result.position.z, state.matrix.mvp.row[2], vertex.position; DP4 result.position.w, state.matrix.mvp.row[3], vertex.position; MOV result.color, vertex.color; MOV result.texcoord[0], vertex.texcoord[0]; END
14 OpenGL Extensions GL_NV_vertex_program2!!vp2.0 Up to 256 instructions 39 instr.s including SIN, COS, EX2, LG2 Condition Code Register hold values that reflect result of the most recent instruction (EQ, LT, GT, UN) Support control flow DP4 result.position.x, state.matrix.mvp.row[0], vertex.position; DP4 result.position.y, state.matrix.mvp.row[1], vertex.position;...
15 OpenGL Extensions GL_ARB_fragment_program 33 instructions!!arbfp1.0 ATTRIB texcoord = texcoord[0]; ATTRIB color = fragment.color; OUTPUT fragcolor = result.color; TEMP temp; TXP temp, texcoord, texture[0], 2D END
16 OpenGL Extensions GL_NV_fragment_program Up to 1024 instructions 45 instructions!!arbfp1.0 ATTRIB texcoord = texcoord[0]; ATTRIB color = fragment.color; OUTPUT fragcolor = result.color; TEMP temp; TXP temp, texcoord, texture[0], 2D END
17 NVIDIA Quadro FX 3000G Fully programmable GPU (OpenGL 1.5/DirectX 9.0 class) Long fragment programs (up to 2048 instructions) Long vertex programs (up to 65,536 instructions) Looping and subroutines (up to 256 loops per vertex program) Dynamic flow control Conditional execution
18 Shading Languages Solution: Shading languages provide an easy-touse abstraction of programmability e.g. RenderMan, Hanrahan and Lawson SIGGRAPH 90 Apply shading languages to real-time systems
19 Shading Languages Olano and Lastra, SIGGRPH 98 Shading language specialized for PixelFlow Id Software s Quake 3 shader scripts Scripting language for shading computations Peercy et al., SIGGRAPH 2000 SIMD processor abstraction for multipass rendering McCool s SMASH API API for specifying shading computations
20 Shading Languages RTSL (A Stanford Real-Time Shading Language) Part of DirectX 9 HLSL Cg C for Graphics By NVIDA OpenGL Shading Language Proposed by 3D Labs
21 Shading Languages HLSL Direct3D, Windows only Cg Language OpenGL, Java Linux, Mac OS X, Windows Essentially all GPUs OpenGL Shading Language OpenGL specific Broad OS support expected Broad GPU support expected
22 Recommendations By Kurt Akeley OpenGL Cg is usually the best answer ARB profiles for compatibility NV profiles for best NVIDIA performance Use low-level when Existing code (mix and match with Cg) Hand tuning Cg output Coding certain demanding algorithms
A Real-Time Procedural Shading System for Programmable Graphics Hardware
A Real-Time Procedural Shading System for Programmable Graphics Hardware Kekoa Proudfoot William R. Mark Pat Hanrahan Stanford University Svetoslav Tzvetkov NVIDIA Corporation http://graphics.stanford.edu/projects/shading/
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 informationProgrammable Graphics Hardware
Programmable Graphics Hardware Ian Buck Computer Systems Laboratory Stanford University Outline Why programmable graphics hardware Vertex Programs Fragment Programs CG Trends 2 Why programmable graphics
More informationBasics of GPU-Based Programming
Module 1: Introduction to GPU-Based Methods Basics of GPU-Based Programming Overview Rendering pipeline on current GPUs Low-level languages Vertex programming Fragment programming High-level shading languages
More informationPat Hanrahan. Modern Graphics Pipeline. How Powerful are GPUs? Application. Command. Geometry. Rasterization. Fragment. Display.
How Powerful are GPUs? Pat Hanrahan Computer Science Department Stanford University Computer Forum 2007 Modern Graphics Pipeline Application Command Geometry Rasterization Texture Fragment Display Page
More informationCg: A system for programming graphics hardware in a C-like language
Cg: A system for programming graphics hardware in a C-like language William R. Mark University of Texas at Austin R. Steven Glanville NVIDIA Kurt Akeley NVIDIA and Stanford University Mark Kilgard NVIDIA
More informationMULTI-PASS VS SINGLE-PASS CUBEMAP
Sogang University Computer Graphics Lab. MULTI-PASS VS SINGLE-PASS CUBEMAP 2008.4 1 Contents Purpose Multi-Pass Cubemap Single-Pass Cubemap Reflection Mapping Test Result Conclusion 2 Purpose Implement
More informationChromatic Aberration. CEDEC 2001 Tokyo, Japan
Chromatic Aberration CEDEC 2001 Tokyo, Japan Mark J. Kilgard Graphics Software Engineer NVIDIA Corporation 2 3 Chromatic Aberration Refraction through surfaces can be wave-length dependent Examples: Crystal
More informationTeaching Cg. This presentation introduces Cg ( C for graphics ) and explains why it would be useful when teaching a computer graphics course.
Teaching Cg This presentation introduces Cg ( C for graphics ) and explains why it would be useful when teaching a computer graphics course. 1 Real-Time Graphics Has Come a Long Way Virtua Fighter (SEGA
More informationDo you wish you could hear the audio and read the transcription of this session?
Do you wish you could hear the audio and read the transcription of this session? Then come to JavaOne SM Online where this session is available in a multimedia tool with full audio and transcription synced
More informationIntroduction to Programmable GPUs CPSC 314. Real Time Graphics
Introduction to Programmable GPUs CPSC 314 Introduction to GPU Programming CS314 Gordon Wetzstein, 02/2011 Real Time Graphics Introduction to GPU Programming CS314 Gordon Wetzstein, 02/2011 1 GPUs vs CPUs
More informationShading Languages for Graphics Hardware
Shading Languages for Graphics Hardware Bill Mark and Kekoa Proudfoot Stanford University Collaborators: Pat Hanrahan, Svetoslav Tzvetkov, Pradeep Sen, Ren Ng Sponsors: ATI, NVIDIA, SGI, SONY, Sun, 3dfx,
More informationGraphics Processing Units (GPUs) V1.2 (January 2010) Outline. High-Level Pipeline. 1. GPU Pipeline:
Graphics Processing Units (GPUs) V1.2 (January 2010) Anthony Steed Based on slides from Jan Kautz (v1.0) Outline 1. GPU Pipeline: s Lighting Rasterization Fragment Operations 2. Vertex Shaders 3. Pixel
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 informationGpuPy: Accelerating NumPy With a GPU
GpuPy: Accelerating NumPy With a GPU Washington State University School of Electrical Engineering and Computer Science Benjamin Eitzen - eitzenb@eecs.wsu.edu Robert R. Lewis - bobl@tricity.wsu.edu Presentation
More informationIntroduction to Programmable GPUs CPSC 314. Introduction to GPU Programming CS314 Gordon Wetzstein, 09/03/09
Introduction to Programmable GPUs CPSC 314 News Homework: no new homework this week (focus on quiz prep) Quiz 2 this Friday topics: everything after transformations up until last Friday's lecture questions
More informationCg 2.0. Mark Kilgard
Cg 2.0 Mark Kilgard What is Cg? Cg is a GPU shading language C/C++ like language Write vertex-, geometry-, and fragmentprocessing kernels that execute on massively parallel GPUs Productivity through a
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 informationShaders. Slide credit to Prof. Zwicker
Shaders Slide credit to Prof. Zwicker 2 Today Shader programming 3 Complete model Blinn model with several light sources i diffuse specular ambient How is this implemented on the graphics processor (GPU)?
More informationSung-Eui Yoon ( 윤성의 )
Introduction to Computer Graphics and OpenGL Graphics Hardware Sung-Eui Yoon ( 윤성의 ) Course URL: http://sglab.kaist.ac.kr/~sungeui/etri_cg/ Class Objectives Understand how GPUs have been evolved Understand
More informationUniversity of Toronto: CSC467F Compilers and Interpreters, Fall 2009
University of Toronto: CSC467F Compilers and Interpreters, Fall 2009 ARB Fragment Program ARB fragment program is an opengl extension that allows the programmer to program the fragment processor/shader.
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 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 informationDesign and Applications of a Real-Time Shading System Master s Thesis
TARTU UNIVERSITY FACULTY OF MATHEMATICS Institute of Computer Science Design and Applications of a Real-Time Shading System Master s Thesis Mark Tehver Supervisor: Eero Vainikko Author:...... May 2004
More informationGraphics Hardware. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 2/26/07 1
Graphics Hardware Computer Graphics COMP 770 (236) Spring 2007 Instructor: Brandon Lloyd 2/26/07 1 From last time Texture coordinates Uses of texture maps reflectance and other surface parameters lighting
More informationDesign of a Programmable Vertex Processing Unit for Mobile Platforms
Design of a Programmable Vertex Processing Unit for Mobile Platforms Tae-Young Kim 1, Kyoung-Su Oh 2 1 Dept. of Computer Engineering, Seokyeong University 136704 Seoul, Korea tykim@skuniv.ac.kr 2 Dept.
More informationGraphics Processing Units (GPUs) V2.2 (January 2013) Jan Kautz, Anthony Steed, Tim Weyrich
Graphics Processing Units (GPUs) V2.2 (January 2013) Jan Kautz, Anthony Steed, Tim Weyrich Outline 1. Traditional OpenGL Pipeline: 2. Modern OpenGL Pipeline 3. Vertex Shaders 4. Pixel Shaders 5. Example:
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 informationDesign of a Programmable Vertex Processing Unit for Mobile Platforms
Design of a Programmable Vertex Processing Unit for Mobile Platforms Tae-Young Kim 1 and Kyoung-Su Oh 2 1 Dept of Computer Engineering, Seokyeong University 136704 Seoul, Korea tykim@skunivackr 2 Dept
More informationPyFX: A framework for programming real-time effects
PyFX: A framework for programming real-time effects Calle Lejdfors and Lennart Ohlsson Department of Computer Science, Lund University Box 118, SE-221 00 Lund, SWEDEN {calle.lejdfors, lennart.ohlsson}@cs.lth.se
More informationCg Toolkit. Cg 2.1 beta August 2008 Release Notes
Cg Toolkit Cg 2.1 beta August 2008 Release Notes Cg Toolkit Release Notes The Cg Toolkit allows developers to write and run Cg programs using a wide variety of hardware and OS platforms and graphics APIs.
More informationCg Toolkit. Cg 2.0 January 2008 Release Notes
Cg Toolkit Cg 2.0 January 2008 Release Notes Cg Toolkit Release Notes The Cg Toolkit allows developers to write and run Cg programs using a wide variety of hardware and OS platforms and graphics APIs.
More informationCg Toolkit. Cg 2.1 October 2008 Release Notes
Cg Toolkit Cg 2.1 October 2008 Release Notes Cg Toolkit Release Notes The Cg Toolkit allows developers to write and run Cg programs using a wide variety of hardware and OS platforms and graphics APIs.
More informationComplex Multipass Shading On Programmable Graphics Hardware
Complex Multipass Shading On Programmable Graphics Hardware Eric Chan Stanford University http://graphics.stanford.edu/projects/shading/ Outline Overview of Stanford shading system Language features Compiler
More informationCS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1 Markus Hadwiger, KAUST Reading Assignment #4 (until Feb. 23) Read (required): Programming Massively Parallel Processors book, Chapter
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 informationIntro to GPU Programming (OpenGL Shading Language) Cliff Lindsay Ph.D. Student CS WPI
Intro to GPU Programming (OpenGL Shading Language) Cliff Lindsay Ph.D. Student CS WPI Talk Summary Topic Coverage Define Shading Languages (loosely) High Level View of GPU Functional Aspects of GPU Example
More informationCg Toolkit. Cg 2.0 May 2008 Release Notes
Cg Toolkit Cg 2.0 May 2008 Release Notes Cg Toolkit Release Notes The Cg Toolkit allows developers to write and run Cg programs using a wide variety of hardware and OS platforms and graphics APIs. Originally
More informationReal-Time Graphics Architecture
Real-Time Graphics Architecture Lecture 9: Programming GPUs Kurt Akeley Pat Hanrahan http://graphics.stanford.edu/cs448-07-spring/ Programming GPUs Outline Caveat History Contemporary GPUs Programming
More informationShaders (some slides taken from David M. course)
Shaders (some slides taken from David M. course) Doron Nussbaum Doron Nussbaum COMP 3501 - Shaders 1 Traditional Rendering Pipeline Traditional pipeline (older graphics cards) restricts developer to texture
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 informationVertex and Pixel Shaders:
Vertex and Pixel Shaders: Making the world safe for Computer Graphics Adrian Perez 15-463: Computer Graphics 2 February 27 th, 2001 Administrivia Homework 1 will be handed back on Thursday Midterm is next
More informationGPU Architecture. Michael Doggett Department of Computer Science Lund university
GPU Architecture Michael Doggett Department of Computer Science Lund university GPUs from my time at ATI R200 Xbox360 GPU R630 R610 R770 Let s start at the beginning... Graphics Hardware before GPUs 1970s
More informationComparing Reyes and OpenGL on a Stream Architecture
Comparing Reyes and OpenGL on a Stream Architecture John D. Owens Brucek Khailany Brian Towles William J. Dally Computer Systems Laboratory Stanford University Motivation Frame from Quake III Arena id
More informationCg Toolkit. Cg 1.3 Release Notes. December 2004
Cg Toolkit Cg 1.3 Release Notes December 2004 Cg Toolkit Release Notes The Cg Toolkit allows developers to write and run Cg programs using a wide variety of hardware platforms and graphics APIs. Originally
More informationHardware Shading: State-of-the-Art and Future Challenges
Hardware Shading: State-of-the-Art and Future Challenges Hans-Peter Seidel Max-Planck-Institut für Informatik Saarbrücken,, Germany Graphics Hardware Hardware is now fast enough for complex geometry for
More information3D buzzwords. Adding programmability to the pipeline 6/7/16. Bandwidth Gravity of modern computer systems
Bandwidth Gravity of modern computer systems GPUs Under the Hood Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology The bandwidth between key components
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 informationCS GPU and GPGPU Programming Lecture 3: GPU Architecture 2. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 3: GPU Architecture 2 Markus Hadwiger, KAUST Reading Assignment #2 (until Feb. 9) Read (required): GLSL book, chapter 4 (The OpenGL Programmable Pipeline) GPU
More informationGLSL Introduction. Fu-Chung Huang. Thanks for materials from many other people
GLSL Introduction Fu-Chung Huang Thanks for materials from many other people Programmable Shaders //per vertex inputs from main attribute aposition; attribute anormal; //outputs to frag. program varying
More informationGPU Target Applications
John Montrym Henry Moreton GPU Target Applications (Graphics Processing Unit) 1 Interactive Gaming (50M units, 10M gamers) Cinematic quality rendering in real time. Digital Content Creation (DCC) (1M prof,
More informationCg Toolkit. Cg 1.2 Release Notes
Cg Toolkit Cg 1.2 Release Notes Cg Toolkit Release Notes The Cg Toolkit allows developers to write and run Cg programs using a wide variety of hardware platforms and graphics APIs. Originally released
More informationCS GPU and GPGPU Programming Lecture 3: GPU Architecture 2. Markus Hadwiger, KAUST
CS 380 - GPU and GPGPU Programming Lecture 3: GPU Architecture 2 Markus Hadwiger, KAUST Reading Assignment #2 (until Feb. 17) Read (required): GLSL book, chapter 4 (The OpenGL Programmable Pipeline) GPU
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 informationGeneral Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing)
ME 290-R: General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing) Sara McMains Spring 2009 Performance: Bottlenecks Sources of bottlenecks CPU Transfer Processing Rasterizer
More informationDeveloper Tools. Robert Strzodka. caesar research center Bonn, Germany
Developer Tools Bonn, Germany Choices in GPU Programming Application e.g. in C/C++, Java, Fortran, Perl Window manager e.g. GLUT, Qt, Win32, Motif Operating Graphics system hardware e.g. e.g. Windows,
More informationGetting Started with Cg. Release 1.2 February 2004
Getting Started with Cg Release 1.2 February 2004 What This Presentation Contains What s Included in the Cg Distribution How to Learn Cg Quickly A Brief Introduction to Cg Using Cg in Your Applications
More informationCg Toolkit. Cg 2.2 April 2009 Release Notes
Cg Toolkit Cg 2.2 April 2009 Release Notes Cg Toolkit Release Notes The Cg Toolkit allows developers to write and run Cg programs using a wide variety of hardware and OS platforms and graphics APIs. Originally
More informationGPGPU. Peter Laurens 1st-year PhD Student, NSC
GPGPU Peter Laurens 1st-year PhD Student, NSC Presentation Overview 1. What is it? 2. What can it do for me? 3. How can I get it to do that? 4. What s the catch? 5. What s the future? What is it? Introducing
More informationUnderstanding Shaders and WebGL. Chris Dalton & Olli Etuaho
Understanding Shaders and WebGL Chris Dalton & Olli Etuaho Agenda Introduction: Accessible shader development with WebGL Understanding WebGL shader execution: from JS to GPU Common shader bugs Accessible
More informationCS195V Week 9. GPU Architecture and Other Shading Languages
CS195V Week 9 GPU Architecture and Other Shading Languages GPU Architecture We will do a short overview of GPU hardware and architecture Relatively short journey into hardware, for more in depth information,
More informationCg Toolkit. Cg 1.4 rc 1 Release Notes
Cg Toolkit Cg 1.4 rc 1 Release Notes Cg Toolkit Release Notes The Cg Toolkit allows developers to write and run Cg programs using a wide variety of hardware platforms and graphics APIs. Originally released
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 informationComputer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping
Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) Shadow Buffer Theory Observation:
More informationCg Toolkit. Cg 2.2 February 2010 Release Notes
Cg Toolkit Cg 2.2 February 2010 Release Notes Cg Toolkit Release Notes The Cg Toolkit allows developers to write and run Cg programs using a wide variety of hardware and OS platforms and graphics APIs.
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 information3D Computer Games Technology and History. Markus Hadwiger VRVis Research Center
3D Computer Games Technology and History VRVis Research Center Lecture Outline Overview of the last ten years A look at seminal 3D computer games Most important techniques employed Graphics research and
More informationC P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev
C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE UGRAD.CS.UBC.C A/~CS314 Mikhail Bessmeltsev 1 WHAT IS RENDERING? Generating image from a 3D scene 2 WHAT IS RENDERING? Generating image
More informationGLSL Introduction. Fu-Chung Huang. Thanks for materials from many other people
GLSL Introduction Fu-Chung Huang Thanks for materials from many other people Shader Languages Currently 3 major shader languages Cg (Nvidia) HLSL (Microsoft) Derived from Cg GLSL (OpenGL) Main influences
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 information1.2.3 The Graphics Hardware Pipeline
Figure 1-3. The Graphics Hardware Pipeline 1.2.3 The Graphics Hardware Pipeline A pipeline is a sequence of stages operating in parallel and in a fixed order. Each stage receives its input from the prior
More informationNVIDIA workstation 2D and 3D graphics adapter upgrade options let you experience productivity improvements and superior image quality
Lenovo United States Announcement 107-732, dated December 18, 2007 NVIDIA workstation 2D and 3D graphics adapter upgrade options let you experience productivity improvements and superior image quality
More informationECE 574 Cluster Computing Lecture 16
ECE 574 Cluster Computing Lecture 16 Vince Weaver http://web.eece.maine.edu/~vweaver vincent.weaver@maine.edu 26 March 2019 Announcements HW#7 posted HW#6 and HW#5 returned Don t forget project topics
More informationGraphics Performance Optimisation. John Spitzer Director of European Developer Technology
Graphics Performance Optimisation John Spitzer Director of European Developer Technology Overview Understand the stages of the graphics pipeline Cherchez la bottleneck Once found, either eliminate or balance
More informationFrom Brook to CUDA. GPU Technology Conference
From Brook to CUDA GPU Technology Conference A 50 Second Tutorial on GPU Programming by Ian Buck Adding two vectors in C is pretty easy for (i=0; i
More informationThe Graphics Pipeline and OpenGL III: OpenGL Shading Language (GLSL 1.10)!
! The Graphics Pipeline and OpenGL III: OpenGL Shading Language (GLSL 1.10)! Gordon Wetzstein! Stanford University! EE 267 Virtual Reality! Lecture 4! stanford.edu/class/ee267/! Updates! for 24h lab access:
More informationAshli Advanced Shading Language Interface
Ashli Advanced Shading Language Interface Avi Bleiweiss, Arcot Preetham ATI Research, Inc. Overview Digital content creators (DCC) have relied on software rendering systems to generate imagery that is
More informationIntroduction. Chapter What Is Cg?
Chapter 1 Introduction This chapter has the following four sections: What Is Cg? introduces the Cg programming language. Vertices, Fragments, and the Graphics Pipeline describes the data flow of modern
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 informationAdvanced Computer Graphics (CS & SE ) Lecture 7
Advanced Computer Graphics (CS & SE 233.420) Lecture 7 CREDITS Bill Mark, NVIDIA Programmable Graphics Technology, SIGGRAPH 2002 Course. David Kirk, GPUs and CPUs:The Uneasy Alliance, Panel Presentation,
More informationGrafica Computazionale: Lezione 30. Grafica Computazionale. Hiding complexity... ;) Introduction to OpenGL. lezione30 Introduction to OpenGL
Grafica Computazionale: Lezione 30 Grafica Computazionale lezione30 Introduction to OpenGL Informatica e Automazione, "Roma Tre" May 20, 2010 OpenGL Shading Language Introduction to OpenGL OpenGL (Open
More informationProgrammable Graphics Hardware
Programmable Graphics Hardware Outline 2/ 49 A brief Introduction into Programmable Graphics Hardware Hardware Graphics Pipeline Shading Languages Tools GPGPU Resources Hardware Graphics Pipeline 3/ 49
More informationThe F-Buffer: A Rasterization-Order FIFO Buffer for Multi-Pass Rendering. Bill Mark and Kekoa Proudfoot. Stanford University
The F-Buffer: A Rasterization-Order FIFO Buffer for Multi-Pass Rendering Bill Mark and Kekoa Proudfoot Stanford University http://graphics.stanford.edu/projects/shading/ Motivation for this work Two goals
More informationOpenGL. Toolkits.
http://www.opengl.org OpenGL Open Graphics Library Graphics API Delivered with UNIX, Win9x/2000/Me/Nt/Xp, Mac OS Direct3D (DirectX) is only Windows Utilizes the window system and event handling of the
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 informationGeForce 8 Features for OpenGL
GeForce 8 Features for OpenGL Mark Kilgard GeForce 8 OpenGL Functionality Broad functional categories for GeForce 8 extensions Vertex Programmability Texture Framebuffer Much of GeForce 8 OpenGL is already
More informationCiril Bohak. - INTRODUCTION TO WEBGL
2016 Ciril Bohak ciril.bohak@fri.uni-lj.si - INTRODUCTION TO WEBGL What is WebGL? WebGL (Web Graphics Library) is an implementation of OpenGL interface for cmmunication with graphical hardware, intended
More informationIn-Game Special Effects and Lighting
In-Game Special Effects and Lighting Introduction! Tomas Arce! Special Thanks! Matthias Wloka! Craig Galley! Stephen Broumley! Cryrus Lum! Sumie Arce! Inevitable! nvidia! Bungy What Is Per-Pixel Pixel
More informationA Bandwidth Effective Rendering Scheme for 3D Texture-based Volume Visualization on GPU
for 3D Texture-based Volume Visualization on GPU Won-Jong Lee, Tack-Don Han Media System Laboratory (http://msl.yonsei.ac.k) Dept. of Computer Science, Yonsei University, Seoul, Korea Contents Background
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 informationGPU Memory Model. Adapted from:
GPU Memory Model Adapted from: Aaron Lefohn University of California, Davis With updates from slides by Suresh Venkatasubramanian, University of Pennsylvania Updates performed by Gary J. Katz, University
More information12.2 Programmable Graphics Hardware
Fall 2018 CSCI 420: Computer Graphics 12.2 Programmable Graphics Hardware Kyle Morgenroth http://cs420.hao-li.com 1 Introduction Recent major advance in real time graphics is the programmable pipeline:
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 informationToday. Rendering algorithms. Rendering algorithms. Images. Images. Rendering Algorithms. Course overview Organization Introduction to ray tracing
Today Rendering Algorithms Course overview Organization Introduction to ray tracing Spring 2009 Matthias Zwicker Universität Bern Rendering algorithms Problem statement Given computer representation of
More informationGraphics and Imaging Architectures
Graphics and Imaging Architectures Kayvon Fatahalian http://www.cs.cmu.edu/afs/cs/academic/class/15869-f11/www/ About Kayvon New faculty, just arrived from Stanford Dissertation: Evolving real-time graphics
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 informationprintf Debugging Examples
Programming Soap Box Developer Tools Tim Purcell NVIDIA Successful programming systems require at least three tools High level language compiler Cg, HLSL, GLSL, RTSL, Brook Debugger Profiler Debugging
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 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 informationGeneral Purpose Computing on Graphical Processing Units (GPGPU(
General Purpose Computing on Graphical Processing Units (GPGPU( / GPGP /GP 2 ) By Simon J.K. Pedersen Aalborg University, Oct 2008 VGIS, Readings Course Presentation no. 7 Presentation Outline Part 1:
More information