Programmable Graphics Hardware

Save this PDF as:
 WORD  PNG  TXT  JPG

Size: px
Start display at page:

Download "Programmable Graphics Hardware"

Transcription

1 Programmable Graphics Hardware Alessandro Martinelli 6 November 2011 Rendering Pipeline (6): Programmable Graphics Hardware Rendering Architecture First Rendering Pipeline Second Pipeline: Illumination and Shading Third Pipeline: Coordinates Transforms Fourth Pipeline: Texturing Fifth Pipeline: Memory Structures Programmable Graphics Hardware Computer Graphics

2 Vertex e Fragment Shader Rendering Pipeline (6): Programmable Graphics Hardware Rendering Architecture First Rendering Pipeline Second Pipeline: Illumination and Shading Third Pipeline: Coordinates Transforms Fourth Pipeline: Texturing Fifth Pipeline: Memory Structures Programmable Graphics Hardware Vertex and Fragment Shaders Shading Languages Examples Geometry Shading, Redirection and Unified Shading A. Martinelli Pipeline 2/12/ / 19

3 Vertex e Fragment Shader Rendering Pipeline (OpenGL 1.x Model) With shaders, the Rendering Pipeline... Vertici ymax (x,c,z,txos[])min (x,c,z,txos[])max y Modulo di Digitalizzazione ymin Frammenti( (x,y),(c,z,txos[]) ) Gestione Primitive Clipping, Viewport Transform A. Martinelli Pipeline 2/12/ / 19

4 Vertex e Fragment Shader Rendering Pipeline (OpenGL 2.0+ Model)...got changed: Vertex Pipeline and Fragment Pipeline got replaced by progammable graphics hardware components, which are used to customize how vertices and fragments are elaborated. ymax (x,c,z,txos[])min (x,c,z,txos[])max y Modulo di Digitalizzazione ymin Frammenti( (x,y),(c,z,txos[]) ) Gestione Primitive Clipping, Viewport Transform A. Martinelli Pipeline 2/12/ / 19

5 Vertex e Fragment Shader New Units Vertex Shader replaces fixed vertex-based functionalities: texture coordinates management, transforms, lighting Fragment Shader replaces fixed fragment-based functionalities: all color mixing methods for multi-texturing, and fog. This units may be implemented by software developers: so it is possible to customize the way in which vertices and fragments are managed. The languages we will use to do so are called Shading Langauges All the GPU supporting this model, will have more units working in parallel and running your vertex or fragment shader on more vertices and fragments at a time. A. Martinelli Pipeline 2/12/ / 19

6 Vertex e Fragment Shader Vale la considerazione già fatta per la pipeline standard: il numero dei frammenti è mediamente molto più grande del numero dei vertici che descrivono i triangoli. Questo comporta la necessità di disporre di un numero superiore di unità di fragment shading che di vertex shading, esattamente come presentanto nella slide precedente. A. Martinelli Pipeline 2/12/ / 19

7 Vertex e Fragment Shader Some details... Vertex Shader It takes as input all data related to a vertex you send to the pipeline. It gives as output output still vertex infos, the ones used by the primitives manager and clipping modules. It can only change vertex Data. It cannot generate new vertices. It cannot delete vertices. Fragment Shader It takes as input a fragment produces by rasterization hardware. It gives as output a fragment, with the data required by buffers manager. It cannot generate new fragments, but It may delete (discard) fragments. A. Martinelli Pipeline 2/12/ / 19

8 Shading Languages Rendering Pipeline (6): Programmable Graphics Hardware Rendering Architecture First Rendering Pipeline Second Pipeline: Illumination and Shading Third Pipeline: Coordinates Transforms Fourth Pipeline: Texturing Fifth Pipeline: Memory Structures Programmable Graphics Hardware Vertex and Fragment Shaders Shading Languages Examples Geometry Shading, Redirection and Unified Shading A. Martinelli Pipeline 2/12/ / 19

9 Shading Languages Shading Languages There are some available shading languages: HLSL ( High Level Shading Language ): Microsoft Direct3D Shading Language. GLSL ( Graphics Library Shading Language): OpenGL Shading Language CG: very well known NVidia specific Shading Language. Shading languages are vectorial languages: They define operations on vectors with 1,2 3 or 4 elements. Sums, products and subtractions are always component by component on vectors with same length. You can use control structures like if or for. But: they may bring to performance issues on some hardware. The only safe control is a for cycling a fixed number of times. (Like for(int i=0;i<4;i++)), because you will have a compiler unwrapping your cycle. A. Martinelli Pipeline 2/12/ / 19

10 Shading Languages GLSL Nowadays, You will find GLSL in almost every OpenGL based platform. OpenGL Versions: main differences OpenGL 2.0 will still have the Fixed Pipeline. So, in that case, GLSL will allow the access to all the State Variables used by Fixed Pipelines. For example, you can read Fixed-Pipeline Lights Parameters in your shader. With OpenGL ES 2.0/2.1 and WebGL you have not a Fixed Pipeline. So the OpenGL API is missing important functions used to set State Variables and that State Variables are not available in GLSL A. Martinelli Pipeline 2/12/ / 19

11 Shading Languages GLSL: Variables Shading Languages variables are very significant: Predefined Language Variables Uniform Variables Varying Variables Of course, these languages will have temporary variables as every other languages. A. Martinelli Pipeline 2/12/ / 19

12 Shading Languages Predefined Language Variables Predefined Language Variables are used to access fixed pipeline data. For example: gl Vertex is the input position for a vertex in a Vertex Pipeline(should only be read). gl Position is the output position (unit volume position) for a vertex in a Vertex Pipeline(should only be written). gl Color is the input fragment color in a Fragment Shader (should only be read). gl ModelViewProjectionMatrix is the result of all transforms, a 4x4 which is the product of the Projection with the Modelview (should only be read). A. Martinelli Pipeline 2/12/ / 19

13 Shading Languages Varying Variables Generic Vertex Properties assigned by your Vertex Pipeline, which should be interpolated by rasterization Hardware because you want a value for them on each fragment. You can see them both in Fragment and in Vertex Shader. They can only be written on the Vertex Side. They can only be read on the Fragment Side. A Paradox in the Libraries At the time being, varying variables are deprecated in OpenGL 4.0. They are replaced with different solutions. But WebGL and ES versions still will be based on varying. A. Martinelli Pipeline 2/12/ / 19

14 Shading Languages Uniform Variables They are like standard State Variables. They are used to assign settings/parameters to Shaders. They indeed should be seen as Customized State Variables. They can only be read both by Vertex and Fragment Shaders. They will be assigned an identifier. With gluniform and the identifier, we will be able to assign values to Uniforms. A. Martinelli Pipeline 2/12/ / 19

15 Examples Rendering Pipeline (6): Programmable Graphics Hardware Rendering Architecture First Rendering Pipeline Second Pipeline: Illumination and Shading Third Pipeline: Coordinates Transforms Fourth Pipeline: Texturing Fifth Pipeline: Memory Structures Programmable Graphics Hardware Vertex and Fragment Shaders Shading Languages Examples Geometry Shading, Redirection and Unified Shading A. Martinelli Pipeline 2/12/ / 19

16 Examples An Example GLSL Vertex Shader: void main(void){ gl Position = gl ModelViewProjectionMatrix gl Vertex; gl FrontColor = gl Color; gl TexCoord[0] = gl MultiTexCoord0; } GLSL Fragment Shader: void main(void){ gl FragColor = gl Color vec4(1,0.5,0.5,1); } A. Martinelli Pipeline 2/12/ / 19

17 Geometry Shading, Redirection and Unified Shading Rendering Pipeline (6): Programmable Graphics Hardware Rendering Architecture First Rendering Pipeline Second Pipeline: Illumination and Shading Third Pipeline: Coordinates Transforms Fourth Pipeline: Texturing Fifth Pipeline: Memory Structures Programmable Graphics Hardware Vertex and Fragment Shaders Shading Languages Examples Geometry Shading, Redirection and Unified Shading A. Martinelli Pipeline 2/12/ / 19

18 Geometry Shading, Redirection and Unified Shading GPU: Towards the State of Art (1/3) There are some important additional elements in modern GPUs. Redirection: it is possible to move part of data stream traversing the Pipeline and store it in GPU memory. For example, we can move vertices elaborated by a Vertex Shader and store them in a Vertex Buffer Object. Unified Shading Model: we have a big set of programmable units, instead of having specific units for each Shader Type. Usually it is allowed (with specific libraries like OpenCL) to access that units apart from the rendering process, in order to use them to execute other parallel programming tasks. Geometry Shaders: an additional shader which can change the structure of primitives. It is allowed to generate geometries and vertices, and that s making it having serious performance issues. Primitives Shader: in order to make things more complex, OpenGL 4.0 allows the definition of customized primitives, with the introduction of Primitives Shaders. This should be seen as a workaround to the issues related to Geometry Shaders. A. Martinelli Pipeline 2/12/ / 19

19 Geometry Shading, Redirection and Unified Shading GPU: Towards the State of Art (2/3) Gestione Primitive Clipping, Viewport Transform Modulo di Digitalizzazione Buffer Manager A. Martinelli Pipeline 2/12/ / 19

20 Geometry Shading, Redirection and Unified Shading Esiste una unica unità di calcolo parallelo con un numero molto grande di unità programmabili al suo interno. I vertici che arrivano alla pipeline vengono passati ad una unità di gestione dei vertex shader; questa unità chiede all unità di calcolo parallelo di avere alcuni processori allocati all esecuzione di un programma di vertex shading. I vertici elaborati tornano all unità di gestione dei vertex shader, che li manda alla solita unità di gestione delle primitive. L unità di gestione delle primitive passa i dati delle primitive ad una unità di Gestione dei Geometry Shader; questa unità è in grado di applicare programmi che data una primitiva sono in grado di produrre un numero grande di primitive, benchè allo stato dell arte l output di questi moduli è bloccato ad un massimo 1Kb. Per svolgere queste operazioni di elaborazione delle primitive, il modulo ha bisogno che l unità di calcolo parallelo gli allochi delle unità programmabili. Le primitive elaborate seguono il solito processo che prevede: clipping, viewport mapping e digitalizzazione. I frammenti vengono processati da una unità di gestione dei fragment shader, che utilizza le unità programmabili generiche per l implementazione. I frammenti elaborati sono passati al solito all unità di gestione dei buffer. Le unità programmabili hanno libero accesso alla gestione delle texture. Le unità programmabili possono salvare uno stream di dati in posizioni di memoria della scheda grafica. Le unità programmabili possono essere utilizzate, attraverso appositi linguaggi, anche da applicazioni esterne che non svolgono attività grafica o che svolgono attività grafica di supporto. A. Martinelli Pipeline 2/12/ / 19

21 Geometry Shading, Redirection and Unified Shading GPU: Towards the State of Art (3/3) Some very important considerations: Geometry Shaders are bad. It has been proven that Geometry Shaders can be replaced with a good use of Vertex Shaders Primitive Shaders are better, but they are really new (the first time in OpenGL standard specification was 2010), and available in few platforms. Redirection may bring to bad performance on some platforms. It should be used carefully. Embedded Systems (and WebGL) will be slow in introducing new Shading functionalities, which are less significant. Something which is guaranteed: the Unified Shading Model is part of most of the GPU since 2006: Shading units are managed with a load-balancing mechanics (that is: at run time more or less units will execute Vertex or Fragments Shaders, depending upon the number of vertices and fragments) This will dynamically improve the performance of programs using shading languages. Another reliable fact nowadays is the availability of Instruments and Libraries to access Parallel Hardware in GPUs. A. Martinelli Pipeline 2/12/ / 19

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University

CSE 564: Visualization. GPU Programming (First Steps) GPU Generations. Klaus Mueller. Computer Science Department Stony Brook University GPU Generations CSE 564: Visualization GPU Programming (First Steps) Klaus Mueller Computer Science Department Stony Brook University For the labs, 4th generation is desirable Graphics Hardware Pipeline

More information

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg

Image Processing and Computer Graphics. Rendering Pipeline. Matthias Teschner. Computer Science Department University of Freiburg Image Processing and Computer Graphics Rendering Pipeline Matthias Teschner Computer Science Department University of Freiburg Outline introduction rendering pipeline vertex processing primitive processing

More information

Programming with OpenGL Part 1: Background. Ed Angel Professor Emeritus of Computer Science University of New Mexico

Programming with OpenGL Part 1: Background. Ed Angel Professor Emeritus of Computer Science University of New Mexico Programming with OpenGL Part 1: Background Ed Angel Professor Emeritus of Computer Science University of New Mexico 1 Objectives Development of the OpenGL API OpenGL Architecture - OpenGL as a state machine

More information

Topic 4 OpenGL 1: Background. CITS3003 Graphics & Animation. Slides: E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012

Topic 4 OpenGL 1: Background. CITS3003 Graphics & Animation. Slides: E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 Programming with OpenGL Part 1: Background CITS3003 Graphics & Animation Slides: E. Angel and D. Shreiner: Interactive Computer Graphics 6E Addison-Wesley 2012 1 Objectives Development of the OpenGL API

More information

Introduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it

Introduction to GPGPU. Tiziano Diamanti t.diamanti@cineca.it t.diamanti@cineca.it Agenda From GPUs to GPGPUs GPGPU architecture CUDA programming model Perspective projection Vectors that connect the vanishing point to every point of the 3D model will intersecate

More information

OpenGL pipeline Evolution and OpenGL Shading Language (GLSL)

OpenGL pipeline Evolution and OpenGL Shading Language (GLSL) OpenGL pipeline Evolution and OpenGL Shading Language (GLSL) Part 1/3 Prateek Shrivastava CS12S008 shrvstv@cse.iitm.ac.in 1 INTRODUCTION OpenGL Shading Language (GLSL) "mini-programs" written in GLSL are

More information

Introduction to. the open graphics library for embedded systems

Introduction to. the open graphics library for embedded systems Introduction to the open graphics library for embedded systems PRESENTATION TOPICS Introduction to OpenGL ES Spaces and Transformations Drawing Geometry Colors Textures Android Fragmentation OpenGL ES

More information

Computer Graphics Hardware An Overview

Computer Graphics Hardware An Overview Computer Graphics Hardware An Overview Graphics System Monitor Input devices CPU/Memory GPU Raster Graphics System Raster: An array of picture elements Based on raster-scan TV technology The screen (and

More information

Developer Tools. Tim Purcell NVIDIA

Developer Tools. Tim Purcell NVIDIA Developer Tools Tim Purcell NVIDIA Programming Soap Box Successful programming systems require at least three tools High level language compiler Cg, HLSL, GLSL, RTSL, Brook Debugger Profiler Debugging

More information

Color correction in 3D environments Nicholas Blackhawk

Color correction in 3D environments Nicholas Blackhawk Color correction in 3D environments Nicholas Blackhawk Abstract In 3D display technologies, as reviewers will say, color quality is often a factor. Depending on the type of display, either professional

More information

L20: GPU Architecture and Models

L20: GPU Architecture and Models L20: GPU Architecture and Models scribe(s): Abdul Khalifa 20.1 Overview GPUs (Graphics Processing Units) are large parallel structure of processing cores capable of rendering graphics efficiently on displays.

More information

Computer Graphics. Lecture 1:

Computer Graphics. Lecture 1: Computer Graphics Thilo Kielmann Lecture 1: 1 Introduction (basic administrative information) Course Overview + Examples (a.o. Pixar, Blender, ) Graphics Systems Hands-on Session General Introduction http://www.cs.vu.nl/~graphics/

More information

Performance Optimization and Debug Tools for mobile games with PlayCanvas

Performance Optimization and Debug Tools for mobile games with PlayCanvas Performance Optimization and Debug Tools for mobile games with PlayCanvas Jonathan Kirkham, Senior Software Engineer, ARM Will Eastcott, CEO, PlayCanvas 1 Introduction Jonathan Kirkham, ARM Worked with

More information

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011 Graphics Cards and Graphics Processing Units Ben Johnstone Russ Martin November 15, 2011 Contents Graphics Processing Units (GPUs) Graphics Pipeline Architectures 8800-GTX200 Fermi Cayman Performance Analysis

More information

GPGPU Computing. Yong Cao

GPGPU Computing. Yong Cao GPGPU Computing Yong Cao Why Graphics Card? It s powerful! A quiet trend Copyright 2009 by Yong Cao Why Graphics Card? It s powerful! Processor Processing Units FLOPs per Unit Clock Speed Processing Power

More information

3D Graphics for Embedded Systems

3D Graphics for Embedded Systems EuroGraphics Italian Chapter Catania, Feb 24 th 2006 3D Graphics for Embedded Systems From standards, through R&D to applicable innovations Massimiliano Barone Imaging, Rendering, Human Machine Interaction

More information

DTI / Titolo principale della presentazione IPHONE ENCRYPTION. Litiano Piccin. 11 ottobre 2014

DTI / Titolo principale della presentazione IPHONE ENCRYPTION. Litiano Piccin. 11 ottobre 2014 1 IPHONE ENCRYPTION 2 MOBILE FORENSICS Nella Computer Forensics, le evidenze che vengono acquisite sono dispositivi statici di massa; questa significa che possiamo ottenere la stessa immagine (bit stream)

More information

GPUs Under the Hood. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology

GPUs Under the Hood. Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology GPUs Under the Hood Prof. Aaron Lanterman School of Electrical and Computer Engineering Georgia Institute of Technology Bandwidth Gravity of modern computer systems The bandwidth between key components

More information

GPU Architecture Overview. John Owens UC Davis

GPU Architecture Overview. John Owens UC Davis GPU Architecture Overview John Owens UC Davis The Right-Hand Turn [H&P Figure 1.1] Why? [Architecture Reasons] ILP increasingly difficult to extract from instruction stream Control hardware dominates µprocessors

More information

QCD as a Video Game?

QCD as a Video Game? QCD as a Video Game? Sándor D. Katz Eötvös University Budapest in collaboration with Győző Egri, Zoltán Fodor, Christian Hoelbling Dániel Nógrádi, Kálmán Szabó Outline 1. Introduction 2. GPU architecture

More information

Chapter 2 GRAPHICAL PROCESSING UNITS. 2.1 Overview

Chapter 2 GRAPHICAL PROCESSING UNITS. 2.1 Overview Chapter 2 GRAPHICAL PROCESSING UNITS 2.1 Overview Knowledge of the operations supported by GPUs and how data is processed in GPUs is necessary in order to understand how GPUs can be leveraged for cryptographic

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 torsten@sfu.ca www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics

More information

Computer Graphics. Course Goal. Objectives. Overview. Textbook. These lectures cover Chapters 1-6in detail and survey Chapters 7-1

Computer Graphics. Course Goal. Objectives. Overview. Textbook. These lectures cover Chapters 1-6in detail and survey Chapters 7-1 Computer Graphics Course Goal Paul Farrell Professor of Computer Science, Kent State University Office 270 MSB. Tel 672-9060 farrell@cs.kent.edu. Office hours: 6:00-7:30 TH and by appointment. The goal

More information

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group

Shader Model 3.0. Ashu Rege. NVIDIA Developer Technology Group Shader Model 3.0 Ashu Rege NVIDIA Developer Technology Group Talk Outline Quick Intro GeForce 6 Series (NV4X family) New Vertex Shader Features Vertex Texture Fetch Longer Programs and Dynamic Flow Control

More information

Programming Graphics Hardware. Randy Fernando, Cyril Zeller

Programming Graphics Hardware. Randy Fernando, Cyril Zeller Randy Fernando, Cyril Zeller Overview of the Tutorial 10:45 Introduction to the Hardware Graphics Pipeline Cyril Zeller 12:00 Lunch 14:00 High-Level Shading Languages Randy Fernando 15:15 break 15:45 GPU

More information

Writing Applications for the GPU Using the RapidMind Development Platform

Writing Applications for the GPU Using the RapidMind Development Platform Writing Applications for the GPU Using the RapidMind Development Platform Contents Introduction... 1 Graphics Processing Units... 1 RapidMind Development Platform... 2 Writing RapidMind Enabled Applications...

More information

Multiprocessor Graphic Rendering Kerey Howard

Multiprocessor Graphic Rendering Kerey Howard Multiprocessor Graphic Rendering Kerey Howard EEL 6897 Lecture Outline Real time Rendering Introduction Graphics API Pipeline Multiprocessing Parallel Processing Threading OpenGL with Java 2 Real time

More information

CSE 167: Lecture #3: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011

CSE 167: Lecture #3: Projection. Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 CSE 167: Introduction to Computer Graphics Lecture #3: Projection Jürgen P. Schulze, Ph.D. University of California, San Diego Fall Quarter 2011 Announcements Project 1 due Friday September 30 th, presentation

More information

From the Dark Side of the Moon. GPU Programming with BGFX and Eclipse. Tony McCrary, l33t labs

From the Dark Side of the Moon. GPU Programming with BGFX and Eclipse. Tony McCrary, l33t labs From the Dark Side of the Moon GPU Programming with BGFX and Eclipse Tony McCrary, l33t labs What is BGFX? Open source C/C++ GPU rendering library Developed by Branimir Karadzic Provides a way to render

More information

ITIL v3 - Overview. Claudio Tancini Marzo 2015 INTERNAL USE ONLY

ITIL v3 - Overview. Claudio Tancini Marzo 2015 INTERNAL USE ONLY ITIL v3 - Overview Claudio Tancini Marzo 2015 ITIL Da Wikipedia, l'enciclopedia libera. Information Technology Infrastructure Library (ITIL) è un insieme di linee guida ispirate dalla pratica (Best Practices)

More information

Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics

Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics Computer Graphics (CS 543) Lecture 1 (Part 1): Introduction to Computer Graphics Prof Emmanuel Agu Computer Science Dept. Worcester Polytechnic Institute (WPI) What is Computer Graphics (CG)? Computer

More information

Corso: Supporting and Troubleshooting Windows 10 Codice PCSNET: MW10-3 Cod. Vendor: 10982 Durata: 5

Corso: Supporting and Troubleshooting Windows 10 Codice PCSNET: MW10-3 Cod. Vendor: 10982 Durata: 5 Corso: Supporting and Troubleshooting Windows 10 Codice PCSNET: MW10-3 Cod. Vendor: 10982 Durata: 5 Obiettivi Al termine del corso i partecipanti saranno in grado di: Descrivere i processi coinvolti nella

More information

Impact of Modern OpenGL on FPS

Impact of Modern OpenGL on FPS Impact of Modern OpenGL on FPS Jan Čejka Supervised by: Jiří Sochor Faculty of Informatics Masaryk University Brno/ Czech Republic Abstract In our work we choose several old and modern features of OpenGL

More information

Real-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university

Real-Time Realistic Rendering. Michael Doggett Docent Department of Computer Science Lund university Real-Time Realistic Rendering Michael Doggett Docent Department of Computer Science Lund university 30-5-2011 Visually realistic goal force[d] us to completely rethink the entire rendering process. Cook

More information

Optimizing AAA Games for Mobile Platforms

Optimizing AAA Games for Mobile Platforms Optimizing AAA Games for Mobile Platforms Niklas Smedberg Senior Engine Programmer, Epic Games Who Am I A.k.a. Smedis Epic Games, Unreal Engine 15 years in the industry 30 years of programming C64 demo

More information

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA

NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH MATAVENRATH@NVIDIA.COM SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA GFLOPS 3500 3000 NVPRO-PIPELINE Peak Double Precision FLOPS GPU perf improved

More information

A Crash Course on Programmable Graphics Hardware

A Crash Course on Programmable Graphics Hardware A Crash Course on Programmable Graphics Hardware Li-Yi Wei Abstract Recent years have witnessed tremendous growth for programmable graphics hardware (GPU), both in terms of performance and functionality.

More information

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT COMP27112 Computer Graphics and Image Processing 2: Introducing image synthesis Toby.Howard@manchester.ac.uk 1 Introduction In these notes we ll cover: Some orientation how did we get here? Graphics system

More information

Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS

Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Computer Graphics on Mobile Devices VL SS2010 3.0 ECTS Peter Rautek Rückblick Motivation Vorbesprechung Spiel VL Framework Ablauf Android Basics Android Specifics Activity, Layouts, Service, Intent, Permission,

More information

Web Based 3D Visualization for COMSOL Multiphysics

Web Based 3D Visualization for COMSOL Multiphysics Web Based 3D Visualization for COMSOL Multiphysics M. Jüttner* 1, S. Grabmaier 1, W. M. Rucker 1 1 University of Stuttgart Institute for Theory of Electrical Engineering *Corresponding author: Pfaffenwaldring

More information

Parallel Web Programming

Parallel Web Programming Parallel Web Programming Tobias Groß, Björn Meier Hardware/Software Co-Design, University of Erlangen-Nuremberg May 23, 2013 Outline WebGL OpenGL Rendering Pipeline Shader WebCL Motivation Development

More information

OpenGL ES 2.0 Lighting 2 Per-fragment Lighting. CS421 Advanced Computer Graphics Jay Urbain, Ph.D.

OpenGL ES 2.0 Lighting 2 Per-fragment Lighting. CS421 Advanced Computer Graphics Jay Urbain, Ph.D. OpenGL ES 2.0 Lighting 2 Per-fragment Lighting CS421 Advanced Computer Graphics Jay Urbain, Ph.D. 1 Objectives Per-fragment lighting Foundation for Phong Model, textures, etc. Shader implementation in

More information

Architecture of a Graphics Pipeline. 6 February 2007 CMPT370 Dr. Sean Ho Trinity Western University

Architecture of a Graphics Pipeline. 6 February 2007 CMPT370 Dr. Sean Ho Trinity Western University Architecture of a Graphics Pipeline 6 February 2007 CMPT370 Dr. Sean Ho Trinity Western University Review last time Visual computing: Computer graphics and image analysis Objectives of visual computing

More information

OpenGL Shading Language Course. Chapter 5 Appendix. By Jacobo Rodriguez Villar jacobo.rodriguez@typhoonlabs.com

OpenGL Shading Language Course. Chapter 5 Appendix. By Jacobo Rodriguez Villar jacobo.rodriguez@typhoonlabs.com OpenGL Shading Language Course Chapter 5 Appendix By Jacobo Rodriguez Villar jacobo.rodriguez@typhoonlabs.com TyphoonLabs GLSL Course 1/1 APPENDIX INDEX Using GLSL Shaders Within OpenGL Applications 2

More information

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1

GUI GRAPHICS AND USER INTERFACES. Welcome to GUI! Mechanics. Mihail Gaianu 26/02/2014 1 Welcome to GUI! Mechanics 26/02/2014 1 Requirements Info If you don t know C++, you CAN take this class additional time investment required early on GUI Java to C++ transition tutorial on course website

More information

The Future Of Animation Is Games

The Future Of Animation Is Games The Future Of Animation Is Games 王 銓 彰 Next Media Animation, Media Lab, Director cwang@1-apple.com.tw The Graphics Hardware Revolution ( 繪 圖 硬 體 革 命 ) : GPU-based Graphics Hardware Multi-core (20 Cores

More information

GPU Architecture. Michael Doggett ATI

GPU Architecture. Michael Doggett ATI GPU Architecture Michael Doggett ATI GPU Architecture RADEON X1800/X1900 Microsoft s XBOX360 Xenos GPU GPU research areas ATI - Driving the Visual Experience Everywhere Products from cell phones to super

More information

ONLINE COLLABORATION USING DATABASES IMAGE EDITING SPECIALISED LEVEL CAD2D SPECIALISED LEVEL

ONLINE COLLABORATION USING DATABASES IMAGE EDITING SPECIALISED LEVEL CAD2D SPECIALISED LEVEL POLO BIANCIARDI CERTIFICAZIONE AICA ECDL PROFILE IT SECURYTI SPECIALISED SPECIALISED CAD2D SPECIALISED ADVANCED HEALTH ECDL SPECIALISED ADVANCED CAD2D SPECIALISED HEALTH 1 ESAME ECDL BASE SPECIALISED ADVANCED

More information

Shading with Shaders. Computer Graphics, VT 2015 Lecture 6

Shading with Shaders. Computer Graphics, VT 2015 Lecture 6 Shading with Shaders Computer Graphics, VT 2015 Lecture 6 Johan Nysjö Centre for Image analysis Swedish University of Agricultural Sciences Uppsala University Today's topics Shading in modern OpenGL Per-vertex

More information

CS445 Exam 2 Solutions

CS445 Exam 2 Solutions November 20, 2014 Name CS445 Exam 2 Solutions Fall 2014 1. (max = 15) 5. (max = 21) 2. (max = 8) 6. (max = 16) 3. (max = 10) 7. (max = 16) 4. (max = 14) Final Score: (max=100) Please try to write legibly.

More information

Low power GPUs a view from the industry. Edvard Sørgård

Low power GPUs a view from the industry. Edvard Sørgård Low power GPUs a view from the industry Edvard Sørgård 1 ARM in Trondheim Graphics technology design centre From 2006 acquisition of Falanx Microsystems AS Origin of the ARM Mali GPUs Main activities today

More information

NVFX : A NEW SCENE AND MATERIAL EFFECT FRAMEWORK FOR OPENGL AND DIRECTX. TRISTAN LORACH Senior Devtech Engineer SIGGRAPH 2013

NVFX : A NEW SCENE AND MATERIAL EFFECT FRAMEWORK FOR OPENGL AND DIRECTX. TRISTAN LORACH Senior Devtech Engineer SIGGRAPH 2013 NVFX : A NEW SCENE AND MATERIAL EFFECT FRAMEWORK FOR OPENGL AND DIRECTX TRISTAN LORACH Senior Devtech Engineer SIGGRAPH 2013 nvfx : Plan What is an Effect New Approach and new ideas of nvfx Examples Walkthrough

More information

Chi sono in quattro punti.

Chi sono in quattro punti. vsphere 5 Licensing Chi sono in quattro punti. Massimiliano Moschini Presales/Postsales and Trainer VMUG IT Board Member VCP, VSP VTSP,VCI, V http://it.linkedin.com/in/massimilianomoschini @maxmoschini

More information

Programmable Graphics The Future of Interactive Rendering

Programmable Graphics The Future of Interactive Rendering Programmable Graphics The Future of Interactive Rendering Matt Pharr, Aaron Lefohn, Craig Kolb, Paul Lalonde, Tim Foley, and Geoff Berry Neoptica Technical Report, March 2007 Neoptica 130 Battery Street,

More information

Introduction to Computer Graphics with WebGL

Introduction to Computer Graphics with WebGL Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science Laboratory University of New Mexico 1 Programming

More information

REVERSE ENGINEERING PER LA RIPARAZIONE DI SCHEDE ELETTRONICHE

REVERSE ENGINEERING PER LA RIPARAZIONE DI SCHEDE ELETTRONICHE REVERSE ENGINEERING PER LA RIPARAZIONE DI SCHEDE ELETTRONICHE Luca Corli Key Account Manager Seica S.p.A. Nell'industria elettronica si definisce normalmente con reverse engineering "il processo di ricostruzione

More information

Radeon HD 2900 and Geometry Generation. Michael Doggett

Radeon HD 2900 and Geometry Generation. Michael Doggett Radeon HD 2900 and Geometry Generation Michael Doggett September 11, 2007 Overview Introduction to 3D Graphics Radeon 2900 Starting Point Requirements Top level Pipeline Blocks from top to bottom Command

More information

Main Points. File layout Directory layout

Main Points. File layout Directory layout File Systems Main Points File layout Directory layout File System Design Constraints For small files: Small blocks for storage efficiency Files used together should be stored together For large files:

More information

OpenGL ES 2.0 on the iphone 3G S Dan Ginsburg

OpenGL ES 2.0 on the iphone 3G S Dan Ginsburg OpenGL ES 2.0 on the iphone 3G S Dan Ginsburg On June 8 th, 2009 at the Apple Worldwide Developer Conference (WWDC) the new iphone 3G S was announced. Apple confirmed that this new generation of iphone

More information

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1

Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline 1 Silverlight for Windows Embedded Graphics and Rendering Pipeline Windows Embedded Compact 7 Technical Article Writers: David Franklin,

More information

Introduction to the PowerVR Graphics SDK. Paul Sobek Developer Technology Engineer, PowerVR Graphics

Introduction to the PowerVR Graphics SDK. Paul Sobek Developer Technology Engineer, PowerVR Graphics Introduction to the PowerVR Graphics SDK Paul Sobek Developer Technology Engineer, PowerVR Graphics www.powervrinsider.com 3 What is the PowerVR Graphics SDK? What is the PowerVR Graphics SDK? Assists

More information

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith

GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series. By: Binesh Tuladhar Clay Smith GPU(Graphics Processing Unit) with a Focus on Nvidia GeForce 6 Series By: Binesh Tuladhar Clay Smith Overview History of GPU s GPU Definition Classical Graphics Pipeline Geforce 6 Series Architecture Vertex

More information

IBM Academic Initiative

IBM Academic Initiative IBM Academic Initiative Sistemi Centrali Modulo 3- Il sistema operativo z/os (quarta parte) Unix Services Sapienza- Università di Roma - Dipartimento Informatica 2007-2008 UNIX System Services POSIX XPG4

More information

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software GPU Computing Numerical Simulation - from Models to Software Andreas Barthels JASS 2009, Course 2, St. Petersburg, Russia Prof. Dr. Sergey Y. Slavyanov St. Petersburg State University Prof. Dr. Thomas

More information

Level 1 Opportunistic Locks

Level 1 Opportunistic Locks Level 1 Opportunistic Locks Si intuisce che level 1 corrisponde concettualmente allo stato M di un dato in cache nel protocollo MESI A level 1 opportunistic lock on a file allows a client to read ahead

More information

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA

The Evolution of Computer Graphics. SVP, Content & Technology, NVIDIA The Evolution of Computer Graphics Tony Tamasi SVP, Content & Technology, NVIDIA Graphics Make great images intricate shapes complex optical effects seamless motion Make them fast invent clever techniques

More information

Lecture Notes, CEng 477

Lecture Notes, CEng 477 Computer Graphics Hardware and Software Lecture Notes, CEng 477 What is Computer Graphics? Different things in different contexts: pictures, scenes that are generated by a computer. tools used to make

More information

Visualizing Data: Scalable Interactivity

Visualizing Data: Scalable Interactivity Visualizing Data: Scalable Interactivity The best data visualizations illustrate hidden information and structure contained in a data set. As access to large data sets has grown, so has the need for interactive

More information

NVIDIA Parallel Nsight Accelerating GPU Development in BioWare s Dragon Age II. March 2011

NVIDIA Parallel Nsight Accelerating GPU Development in BioWare s Dragon Age II. March 2011 NVIDIA Parallel Nsight Accelerating GPU Development in BioWare s Dragon Age II March 2011 Introductions Jeff Kiel Manager of Graphics Tools NVIDIA Corporation Andreas Papathanasis Lead Graphics Programmer

More information

Shader Model 3.0, Best Practices. Phil Scott Technical Developer Relations, EMEA

Shader Model 3.0, Best Practices. Phil Scott Technical Developer Relations, EMEA Shader Model 3.0, Best Practices Phil Scott Technical Developer Relations, EMEA Overview Short Pipeline Overview CPU Bound new optimization opportunities Obscure bits of the pipeline that can trip you

More information

Introduction to Computer Graphics

Introduction to Computer Graphics Introduction to Computer Graphics Version 1.1, January 2016 David J. Eck Hobart and William Smith Colleges This is a PDF version of a free, on-line book that is available at http://math.hws.edu/graphicsbook/.

More information

Approaching Minimum Overhead with Direct3D12

Approaching Minimum Overhead with Direct3D12 Approaching Minimum Overhead with Direct3D12 Jerry Cao DevTech Engineer jecao@nvidia.com Overview D3D12 brief introduction Explicit memory management Reducing CPU overhead CPU efficiency CPU parallelism

More information

High-Performance Software Rasterization on GPUs. NVIDIA Research

High-Performance Software Rasterization on GPUs. NVIDIA Research High-Performance Software Rasterization on GPUs Samuli Laine Tero Karras NVIDIA Research Graphics and Programmability Graphics pipeline (OpenGL/D3D) Driven by dedicated hardware Executes user code in shaders

More information

Lezione 4: Grafica 3D*(II)

Lezione 4: Grafica 3D*(II) Lezione 4: Grafica 3D*(II) Informatica Multimediale Docente: Umberto Castellani *I lucidi sono tratti da una lezione di Maura Melotti (m.melotti@cineca.it) RENDERING Rendering What is rendering? Rendering

More information

Corso: Mastering Microsoft Project 2010 Codice PCSNET: MSPJ-11 Cod. Vendor: 50413 Durata: 3

Corso: Mastering Microsoft Project 2010 Codice PCSNET: MSPJ-11 Cod. Vendor: 50413 Durata: 3 Corso: Mastering Microsoft Project 2010 Codice PCSNET: MSPJ-11 Cod. Vendor: 50413 Durata: 3 Obiettivi Comprendere la disciplina del project management in quanto si applica all'utilizzo di Project. Apprendere

More information

Performance Analysis and Optimization

Performance Analysis and Optimization Performance Analysis and Optimization ARM Mali GPU Performance Counters in ARM DS-5 Streamline Performance Analyzer Lorenzo Dal Col Senior Software Engineer, ARM 1 Agenda Introduction to ARM DS-5 and Streamline

More information

3D Computer Games History and Technology

3D Computer Games History and Technology 3D Computer Games History and Technology VRVis Research Center http://www.vrvis.at Lecture Outline Overview of the last 10-15 15 years A look at seminal 3D computer games Most important techniques employed

More information

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering

Computer Applications in Textile Engineering. Computer Applications in Textile Engineering 3. Computer Graphics Sungmin Kim http://latam.jnu.ac.kr Computer Graphics Definition Introduction Research field related to the activities that includes graphics as input and output Importance Interactive

More information

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions

Overview Motivation and applications Challenges. Dynamic Volume Computation and Visualization on the GPU. GPU feature requests Conclusions Module 4: Beyond Static Scalar Fields Dynamic Volume Computation and Visualization on the GPU Visualization and Computer Graphics Group University of California, Davis Overview Motivation and applications

More information

Introduction to WebGL

Introduction to WebGL Introduction to WebGL Alain Chesnais Chief Scientist, TrendSpottr ACM Past President chesnais@acm.org http://www.linkedin.com/in/alainchesnais http://facebook.com/alain.chesnais Housekeeping If you are

More information

The future of PC Gaming: The possibilities of DirectX 10 Bob Drebin, Fellow, ATI Guennadi Riguer, Senior ISV Engineer, ATI.

The future of PC Gaming: The possibilities of DirectX 10 Bob Drebin, Fellow, ATI Guennadi Riguer, Senior ISV Engineer, ATI. The future of PC Gaming: The possibilities of DirectX 10 Bob Drebin, Fellow, ATI Guennadi Riguer, Senior ISV Engineer, ATI April 24, 2006 1 Games today Look stunning Feature detailed characters and complex

More information

Source code security testing

Source code security testing Source code security testing Simone Riccetti EMEA PSS Security Services All information represents IBM's current intent, is subject to change or withdrawal without notice, and represents only IBM ISS goals

More information

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER

DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER DATA VISUALIZATION OF THE GRAPHICS PIPELINE: TRACKING STATE WITH THE STATEVIEWER RAMA HOETZLEIN, DEVELOPER TECHNOLOGY, NVIDIA Data Visualizations assist humans with data analysis by representing information

More information

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005

Recent Advances and Future Trends in Graphics Hardware. Michael Doggett Architect November 23, 2005 Recent Advances and Future Trends in Graphics Hardware Michael Doggett Architect November 23, 2005 Overview XBOX360 GPU : Xenos Rendering performance GPU architecture Unified shader Memory Export Texture/Vertex

More information

AMD GPU Architecture. OpenCL Tutorial, PPAM 2009. Dominik Behr September 13th, 2009

AMD GPU Architecture. OpenCL Tutorial, PPAM 2009. Dominik Behr September 13th, 2009 AMD GPU Architecture OpenCL Tutorial, PPAM 2009 Dominik Behr September 13th, 2009 Overview AMD GPU architecture How OpenCL maps on GPU and CPU How to optimize for AMD GPUs and CPUs in OpenCL 2 AMD GPU

More information

Radeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008

Radeon GPU Architecture and the Radeon 4800 series. Michael Doggett Graphics Architecture Group June 27, 2008 Radeon GPU Architecture and the series Michael Doggett Graphics Architecture Group June 27, 2008 Graphics Processing Units Introduction GPU research 2 GPU Evolution GPU started as a triangle rasterizer

More information

AutoForm plus R6 Prodotti Stand-alone: Configurazioni compatibili

AutoForm plus R6 Prodotti Stand-alone: Configurazioni compatibili AutoForm plus R6 Prodotti Stand-alone: Configurazioni compatibili Componenti Front-End (AutoForm User Interface e Moduli Front-End) Componenti Back-End (Solver) License Server (RLM) - Risoluzione schermo:

More information

SCADA / Smart Grid Security Who is really in control of our Control Systems?

SCADA / Smart Grid Security Who is really in control of our Control Systems? SCADA / Smart Grid Security Who is really in control of our Control Systems? Simone Riccetti Certified SCADA Security Architect Agenda Overview of Security landscape SCADA security problem How to protect

More information

GRAPHICS CARDS IN RADIO RECONNAISSANCE: THE GPGPU TECHNOLOGY

GRAPHICS CARDS IN RADIO RECONNAISSANCE: THE GPGPU TECHNOLOGY IV. Évfolyam 4. szám - 2009. december Fürjes János furjes.janos@chello.hu GRAPHICS CARDS IN RADIO RECONNAISSANCE: THE GPGPU TECHNOLOGY Absztrakt/Abstract Jelen írás egy modern technológiát elemez, amely

More information

Shader Programming: What s Next? Tim Foley

Shader Programming: What s Next? Tim Foley Shader Programming: What s Next? Tim Foley An interesting time in graphics programming Many platforms, and even more APIs Vulkan 1.0 released just weeks ago Still programming shaders like it s 2002 Author

More information

BRINGING UNREAL ENGINE 4 TO OPENGL Nick Penwarden Epic Games Mathias Schott, Evan Hart NVIDIA

BRINGING UNREAL ENGINE 4 TO OPENGL Nick Penwarden Epic Games Mathias Schott, Evan Hart NVIDIA BRINGING UNREAL ENGINE 4 TO OPENGL Nick Penwarden Epic Games Mathias Schott, Evan Hart NVIDIA March 20, 2014 About Us Nick Penwarden Lead Graphics Programmer Epic Games @nickpwd on Twitter Mathias Schott

More information

AMD RenderMonkey IDE Version 1.71

AMD RenderMonkey IDE Version 1.71 AMD RenderMonkey IDE Version 1.71 Introduction... 5 What s New... 6 Overview of New Features in RenderMonkey 1.71... 7 OpenGL ES 2.0 Preview Window...7 DirectX Disassembly Window...7 DirectX Preview Window...7

More information

Xbox 360 GPU and Radeon HD Michael Doggett Principal Member of Technical Staff Marlborough, Massachusetts October 29, 2007

Xbox 360 GPU and Radeon HD Michael Doggett Principal Member of Technical Staff Marlborough, Massachusetts October 29, 2007 Xbox 360 GPU and Radeon HD 2900 Michael Doggett Principal Member of Technical Staff Marlborough, Massachusetts October 29, 2007 Overview Introduction to 3D Graphics Xbox 360 GPU Radeon 2900 Pipeline Blocks

More information

Tecnologia e Applicazioni Internet 2008/9

Tecnologia e Applicazioni Internet 2008/9 Tecnologia e Applicazioni Internet 2008/9 Lezione 4 - Rest Matteo Vaccari http://matteo.vaccari.name/ matteo.vaccari@uninsubria.it What is REST? Roy Fielding Representational State Transfer Roy T. Fielding

More information

n N e E 0 m A R sr S l 10.2015 230/01

n N e E 0 m A R sr S l 10.2015 230/01 N 0 E A R n e msrls 10.15 230/01 Cablaggi LED LED wiring NEM s.r.l. ha nella propria gamma di prodotti due diversi cablaggi per LED. In its product range, NEM s.r.l. offers two different LED wirings. 051

More information

SISTEMA ANTE EVO 2 DOOR SYSTEM EVO 2

SISTEMA ANTE EVO 2 DOOR SYSTEM EVO 2 EVO 2 Programma per ante scorrevoli in legno o con telaio in alluminio con peso massimo 50 kg. Disponibili nella versione frenata con ammortizzatori oppure con fermi tradizionali. Program for sliding doors

More information

The Standard for Program Management (third edition, 2013) - Leggiamolo Insieme. Performance Domain (2a parte)

The Standard for Program Management (third edition, 2013) - Leggiamolo Insieme. Performance Domain (2a parte) The Standard for Program Management (third edition, 2013) - Leggiamolo Insieme Performance Domain (2a parte) Speaker Profile Giancarlo Duranti, PMP, CBAP email: giancarlo@giancarloduranti.com mobile: +39

More information

L ordine perfet to. In perfect order. Attuatore elettrico a stelo per apertura e chiusura di finestre a sporgere, a lamelle, pale frangisole e cupole

L ordine perfet to. In perfect order. Attuatore elettrico a stelo per apertura e chiusura di finestre a sporgere, a lamelle, pale frangisole e cupole Attuatore elettrico a stelo per apertura e chiusura di a sporgere, a lamelle, pale frangisole e cupole Spindle actuator for opening and closing tophung outward, skylights, solar shading and domes Aperture

More information

GPU Shading and Rendering: Introduction & Graphics Hardware

GPU Shading and Rendering: Introduction & Graphics Hardware GPU Shading and Rendering: Introduction & Graphics Hardware Marc Olano Computer Science and Electrical Engineering University of Maryland, Baltimore County SIGGRAPH 2005 Schedule Shading Technolgy 8:30

More information

THE OPENGL SHADING LANGUAGE 1

THE OPENGL SHADING LANGUAGE 1 THE OPENGL SHADING LANGUAGE 1 John Kessenich Dave Baldwin Randi Rost Language Version 1.10 Document Revision 59 30-April-2004 i The OpenGL Shading Language Copyright 2002-2004 3Dlabs, Inc. Ltd. This document

More information