December Copyright Khronos Group, Page 1

Size: px
Start display at page:

Download "December Copyright Khronos Group, Page 1"

Transcription

1 December 2008 Copyright Khronos Group, Page 1

2 Announced at SIGGRAPH August Supported by AMD, Apple, Intel, NVIDIA, S3, Blizzard, TransGaming, and others State-of-the-art support for latest programmable 3D hardware - Estimated 100 million OpenGL 3.0-capable GPUs shipped - Provides rough feature parity with Direct3D 10 New deprecation model with profiles - Streamline and accelerate the development of the API Full interoperability with OpenCL - Close coordination with general compute acceleration Cross platform - Windows XP as well as Windows Vista, Linux, Mac OS, Specification at Strong collaboration among hardware and software vendors to solve real-world needs Copyright Khronos Group, Page 2

3 OpenGL is part of Khronos since July OpenGL s evolution was governed by the OpenGL Architectural Review Board (ARB) - Now officially a Khronos working group Well proven evolutionary process - OpenGL participants propose extensions - Successful extensions are polished and incorporated into core OpenGL 3.0 is great example of this process - Roughly 20 extensions folded into core - Just 3 of those previously unimplemented Copyright Khronos Group, Page 3

4 Programmability - Shader Model 4.0 features - OpenGL Shading Language (GLSL) 1.30 Texturing - New texture representations and formats Framebuffer operations - Framebuffer objects - New formats - New blit, clear, blend, and masking operations Buffer management - Non-blocking and fine-grain update of buffer object data stores Vertex processing - Vertex array configuration objects - Conditional rendering for occlusion culling - New half-precision vertex attribute formats Pixel processing - New half-precision external pixel formats All Brand New Core Features Copyright Khronos Group, Page 4

5 Vertex Array Objects - Encapsulate vertex array state for easier programming and increased throughput Non-blocking access to Vertex Buffer Objects - With the ability to update and flush a sub-range for enhanced performance Full framebuffer object functionality - Multi-sample buffers, blitting to and from framebuffer objects, rendering to one and two-channel data, and flexible mixing of buffer sizes and formats when rendering to a framebuffer object 32-bit floating-point textures and render buffers - Increased precision and dynamic range in visual and computational operations Conditional rendering - Based on occlusion queries for increased performance; Compact half-float vertex and pixel data - Saves memory and bandwidth Copyright Khronos Group, Page 5

6 Transform feedback to capture geometry data after vertex transformations - Buffer object can drive additional compute and rendering passes Four new texture compression schemes - One and two channel textures providing a factor of 2-to-1 storage savings over uncompressed data Rendering and blending into srgb framebuffers - Faithful color reproduction for OpenGL applications without adjusting the monitor's gamma correction Texture arrays - For efficient indexed access into a set of textures; 32-bit floating-point depth buffer support Copyright Khronos Group, Page 6

7 Front-to-back native signed and unsigned integer operations - Full integer-based texturing - Integer input and outputs for vertex and fragment shaders - True integer operators including bit-wise operations: ^, &,, <<. >>, %,~ Improved compatibility with OpenGL ES - Control over precision New interpolation modifiers - Centroid, no perspective, and flat New forms of explicit control over texturing operations - Base texture size queries, texel offsets to fetches - Explicit LOD and derivative control, texture arrays, integer samplers Additional built-in functions for manipulating floating-point numbers - Hyperbolic trig functions - trunc(), round(), roundeven(), isnan(), isinf(), modf() - Integer related: sign(), min/max(), abs(),. Switch statements - switch/case/default statements for enhanced flow control within shaders Copyright Khronos Group, Page 7

8 OpenGL 2.x extensions - to bring new functionality to older hardware OpenGL 3.0 extensions to test new functionality before bringing to core Copyright Khronos Group, Page 8

9 OpenGL has never removed features from the API - Commitment to backwards compatibility is one of OpenGL s strengths - After 15+ years, defining new features to work with old features becomes increasingly difficult OpenGL 3.0 does not remove any features - Everything still works OpenGL 3.0 marks certain features as deprecated: - Legacy and obsolete features - Parts of OpenGL unlikely to be accelerated - Redundant functionality Future OpenGL revisions may remove these deprecated features - Provides guidance to developers to prepare for future revisions - Plan to remove these features sooner, rather than later Copyright Khronos Group, Page 9

10 Incoming Extensions that may be integrated into Core in future DEPRECATED Functionality may be removed from future releases (and may have reduced interoperability with new functionality) Outgoing Extensions that may be dropped completely in future foo New Functionality Before Adoption into Core Core Specification Old Functionality Removed from Core time Copyright Khronos Group, Page 10

11 Profiles contain functionality needed to meet the needs of a particular market while minimizing costs. Conformant products may implement one or more Profiles Profile A New Functionality Before Adoption into Core Core Specification Old Functionality Removed from Core Profile B Core Specification The sum of all Profile functionality To avoid fragmentation, the core OpenGL specification will contain all defined functionality in an architecturally coherent whole, with profiles tightly specifying segmentrelevant subsets Copyright Khronos Group, Page 11

12 Profile A Profile A Forward Compatibility Context Developers may request a Forward Compatibility Context for a Profile - with non-deprecated functionality that is guaranteed to be present in next release New Functionality Before Adoption into Core Old Functionality Removed from Core Profile B Forward Compatibility Context Profile B Core Specification The sum of all Profile functionality Functionality not in the Forward Compatibility Context is DEPRECATED and may be removed from future releases (and may have reduced interoperability with new functionality) Copyright Khronos Group, Page 12

13 Fixed-function vertex and fragment processing Color-index mode Display lists, and Selection and Feedback modes GLSL 1.10 and 1.20 Begin/End based rendering Application-generated object names Quads and polygon primitives Polygon and Line Stipple Pixel transfer modes Bitmaps, DrawPixels, PixelZoom and quite a few others... - See Appendix E of OpenGL 3.0 specification for complete list Copyright Khronos Group, Page 13

14 Complementary capabilities - OpenGL 3.0 = state-of-the-art, cross-platform graphics - OpenCL 1.0 = state-of-the-art, cross-platform compute Efficient, inter-api communication - Both standards under one IP framework to enables very close collaborative design - While still allowing both APIs to handle the types of workloads for which they were designed OpenCL can efficiently share resources with OpenGL - Textures, Buffer Objects and Renderbuffers - Data is shared, not copied - OpenCL objects are created from OpenGL objects - clcreatefromglbuffer(), clcreatefromgltexture2d(), clcreatefromglrenderbuffer() Applications can select compute device(s) to run OpenGL and OpenCL - Efficient queuing of OpenCL and OpenGL commands into the hardware - Flexible scheduling and synchronization Examples - Vertex and image data generated with OpenCL and then rendered with OpenGL - Images rendered with OpenGL and post-processed with OpenCL kernels Copyright Khronos Group, Page 14

15 AMD Stands fully behind OpenGL Full OpenGL 3.0 (including extension pack) by Q Staged rollout between now and end of 2008 Intel is excited about OpenGL Look for Intel support of OpenGL 3.0 on future platforms NVIDIA has released OpenGL 3.0 beta drivers - For Windows XP and Vista on G80 and higher GPUs - Most of the extensions supported - Available for download at Copyright Khronos Group, Page 15

16 OpenGL 3.0 Extensions EXT_gpu_shader4 NV_conditional_render ARB_color_buffer_float NV_depth_buffer_float ARB_texture_float EXT_packed_float EXT_texture_shared_exponent NV_half_float ARB_half_float_pixel EXT_framebuffer_object EXT_framebuffer_multisample EXT_framebuffer_blit EXT_texture_integer EXT_texture_array EXT_packed_depth_stencil EXT_draw_buffers2 EXT_texture_compression_rgtc EXT_transform_feedback APPLE_vertex_array_object EXT_framebuffer_sRGB APPLE_flush_buffer_range (modified) In Current GPUs but not yet core EXT_geometry_shader4 (now ARB) EXT_bindable_uniform NV_gpu_program4 NV_parameter_buffer_object EXT_texture_compression_latc EXT_texture_buffer_object (now ARB) NV_framebuffer_multisample_coverage NV_transform_feedback2 NV_explicit_multisample NV_multisample_coverage EXT_draw_instanced (now ARB) EXT_direct_state_access EXT_vertex_array_bgra EXT_texture_swizzle Plenty of proven OpenGL extensions for OpenGL Working Group to draw upon for OpenGL 3.1 Copyright Khronos Group, Page 16

17 OpenGL 3.0 is here now - Big step forward in core functionality State-of-the-art support for latest programmable 3D hardware - Estimated 100 million OpenGL 3.0-capable GPUs shipped OpenGL 3.0 defines profiles and deprecation - To enable the specification to evolve more effectively OpenGL and OpenCL integrate compute and graphics - Unleashing new generations of visual applications Copyright Khronos Group, Page 17

18 Details and Examples Copyright Khronos Group, Page 18

19 Texture representation - Texture arrays: indexed access to a set of 1D or 2D texture images Texture formats - Floating-point texture formats - Single-precision (32-bit, IEEE s23e8) - Half-precision (16-bit, s10e5) - Red & red/green texture formats - Intended as FBO framebuffer formats too - Compressed red & red/green texture formats - Shared exponent texture formats - Packed floating-point texture formats Copyright Khronos Group, Page 19

20 Conventional texture - One logical pre-filtered image Texture array - An array of mipmap sets, a plurality of pre-filtered images - No filtering between mipmap sets in a texture array - All mipmap sets in array share same format/border & base dimensions - Both 1D and 2D texture arrays - Require shaders, no fixed-function support Texture image specification - Use glteximage3d, gltexsubimage3d, etc. to load 2D texture arrays - No new OpenGL commands for texture arrays - 3rd dimension specifies integer array index - No halving in 3rd dimension for mipmaps - So x17 reduces to all the way to Copyright Khronos Group, Page 20

21 Multiple skins packed in texture array - Motivation: binding to one multi-skin texture array avoids texture bind per object Texture array index Mipmap level index Copyright Khronos Group, Page 21

22 Shared exponent & packed float representations are ideal of High Dynamic Range (HDR) applications Copyright Khronos Group, Page 22

23 Packed float format - No sign bit, independent exponents bit 31 bit 0 5-bit exponent 5-bit mantissa 5-bit exponent 6-bit mantissa 5-bit exponent 6-bit mantissa Shared exponent format - No sign bit, shared exponent, no implied leading 1 bit 31 bit 0 5-bit shared exponent 9-bit mantissa 9-bit mantissa 9-bit mantissa Copyright Khronos Group, Page 23

24 Basic 1-component block compression format - Borrowed from alpha compression scheme of S3TC 5 2 min/max values + 16 bits Encoded Block 8-bit A 8-bit B 4x4 Pixel Decoded Block 64 bits total per block 16 pixels x 8-bit/componet = 128 bits decoded so effectively 2:1 compression Copyright Khronos Group, Page 24

25 Framebuffer objects - Standardized framebuffer objects (FBOs) for rendering to textures and renderbuffers - Render-to-texture - Multisample renderbuffers for FBOs Framebuffer operations - Copies from one FBO to another, including multisample data - Per-color attachment color clears, blending, and write masking Framebuffer formats - Floating-point color buffers - Floating-point depth buffers - Rendering to framebuffer format with 3 small unsigned floating-point values packed into 32-bits - Rendering into srgb color space framebuffers Copyright Khronos Group, Page 25

26 Problem: Display devices have non-linear (srgb) display gamut - Delicate color shading looks wrong Conventional rendering (uncorrected color) Gamma correct (srgb rendered) Unnaturally deep facial shadows Softer and more natural NVIDIA s Adriana GeForce 8 Launch Demo Copyright Khronos Group, Page 26

27 Color space standard - Intended for monitors, printers, and the Internet - Created cooperatively by HP and Microsoft - Non-linear, roughly gamma of Intuitively encodes more dark values OpenGL 2.1 already added srgb texture formats - Texture fetch converts srgb to linear RGB, then filters - Result takes more than 8-bit fixed-point to represent in shader 3.0 adds complementary srgb framebuffer support - srgb correct blending converts framebuffer srgb to linear, blend with linear color from shader, then convert back to srgb - Works with FrameBuffer Objects (FBOs) srgb chromaticity Copyright Khronos Group, Page 27

28 Vertex array configuration - Objects to manage vertex array configuration client state - Half-precision floating-point vertex array formats Vertex output streaming - Stream transformed vertex results into buffer object data stores Occlusion culling - Skip rendering based on occlusion query result Copyright Khronos Group, Page 28

29 Geometry shaders + transform feedback 1. Render quads (use 4-vertex line adjacency primitive) from vertex buffer object 2. Fetch height field 3. Stream subdivided positions and normals to transform feedback other buffer object 4. Use buffer object as vertex buffer 5. Repeat, ping-pong buffer objects Computation and data all stays on the GPU! Copyright Khronos Group, Page 29

30 Capture & re-use geometric deformations Transform feedback allows the GPU to calculate the interactive, deforming elastic skin of the frog Copyright Khronos Group, Page 30

31 Uses geometry shader silhouette edge detection geometry shader Complete mesh Useful for non-photorealistic rendering: Looks like human sketching Silhouette edges Copyright Khronos Group, Page 31

32 Generate fins for lines Generate shells for fur rendering Copyright Khronos Group, Page 32 Shimmering point sprites

33 Using geometry shader functionality Quadratic normal interpolation True quadrilateral rendering with mean value coordinate interpolation Copyright Khronos Group, Page 33

34 glbegin(gl_quads); glcolor3fv(red); glvertex3fv(lowerleft); glcolor3fv(green); glvertex3fv(lowerright); glcolor3fv(red); glvertex3fv(upperright); glcolor3fv(blue); glvertex3fv(upperleft); glend(); Geometry shader actually operates on 4- vertex GL_LINE_ADJACENCY primitives instead of quads Wrong, backslash triangle split Wrong, slash triangle split Better: Mean value coordinates Copyright Khronos Group, Page 34

35 OpenGL OpenGL buffer object GLuint bufferobj clcreatefromglbuffer OpenCL OpenCL buffer object cl_mem OpenGL texture 2D object GLenum target GLuint texture GLint miplevel OpenGL texture 3D object GLenum target GLuint texture GLint clcreatefromgltexture2d clcreatefromgltexture3d OpenCL 2D image object cl_mem OpenCL 3D image object cl_mem OpenGL renderbuffer object GLuint renderbuffer clcreatefromglrenderbuffer 2D image object cl_mem Copyright Khronos Group, Page 35

36 Requirements for OpenGL object sharing with OpenCL - OpenCL context must be created with an OpenGL context - Each platform-specific API will provide appropriate way to create an OpenGL-compatible CL context - For WGL (Windows), CGL (OS X), GLX (X11/Linux), EGL (OpenGL ES), etc. Creating cl_mem for GL Objects does two things - Ensures CL has a reference to the GL objects - Provides cl_mem handle to acquire GL object for CL s use clretainmemobject & clreleasememobject - can create counted references to cl_mem objects Copyright Khronos Group, Page 36

37 Still must enqueue acquire GL objects for compute kernels to use them - Otherwise reading or writing GL objects with CL is undefined - Enqueue acquire and release provide sequential consistency with GL command processing Enqueue commands for GL objects - clenqueueacquireglobjects - Takes list of cl_mem objects for GL objects - and list of cl_events that must complete before acquire - Returns a cl_event for this acquire operation - clenqueuereleaseglobjects - Takes list of cl_mem objects for GL objects - and list of cl_events that must complete before release - Returns a cl_event for this release operation Copyright Khronos Group, Page 37

38 Buffers in the context of the OpenGL pipeline Array Element Buffer Object (VeBO) Vertex Array Buffer Object (VaBO) glbegin, gldrawelements, etc. Vertex Puller Texture Buffer Object (TexBO) texel data Transform Feedback Buffer (XBO) Parameter Buffer (PaBO) vertex data Bindable Uniform Buffer (BUB) parameter data (not ARB functionality yet) Vertex Shading Geometry Shading Fragment Shading Framebuffer Texturing gldrawpixels, glteximage2d, etc. Pixel Pipeline glreadpixels, etc. Pixel Unpack Buffer (PuBO) Pixel Pack Buffer (PpBO) pixel data Copyright Khronos Group, Page 38

OpenGL 3 Overview. Barthold Lichtenbelt, NVIDIA OpenGL ARB Chair. Copyright Khronos Group, Page 1

OpenGL 3 Overview. Barthold Lichtenbelt, NVIDIA OpenGL ARB Chair. Copyright Khronos Group, Page 1 OpenGL 3 Overview Barthold Lichtenbelt, NVIDIA OpenGL ARB Chair Copyright Khronos Group, 2009 - Page 1 Agenda OpenGL 3.1 announcement and OpenGL 3 overview - Barthold Lichtenbelt, NVIDIA OpenGL 2 vs OpenGL

More information

GeForce 8 Features for OpenGL

GeForce 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 information

Mention driver developers in the room. Because of time this will be fairly high level, feel free to come talk to us afterwards

Mention driver developers in the room. Because of time this will be fairly high level, feel free to come talk to us afterwards 1 Introduce Mark, Michael Poll: Who is a software developer or works for a software company? Who s in management? Who knows what the OpenGL ARB standards body is? Mention driver developers in the room.

More information

OpenGL Status - November 2013 G-Truc Creation

OpenGL Status - November 2013 G-Truc Creation OpenGL Status - November 2013 G-Truc Creation Vendor NVIDIA AMD Intel Windows Apple Release date 02/10/2013 08/11/2013 30/08/2013 22/10/2013 Drivers version 331.10 beta 13.11 beta 9.2 10.18.10.3325 MacOS

More information

Dave Shreiner, ARM March 2009

Dave Shreiner, ARM March 2009 4 th Annual Dave Shreiner, ARM March 2009 Copyright Khronos Group, 2009 - Page 1 Motivation - What s OpenGL ES, and what can it do for me? Overview - Lingo decoder - Overview of the OpenGL ES Pipeline

More information

OpenGL SUPERBIBLE. Fifth Edition. Comprehensive Tutorial and Reference. Richard S. Wright, Jr. Nicholas Haemel Graham Sellers Benjamin Lipchak

OpenGL SUPERBIBLE. Fifth Edition. Comprehensive Tutorial and Reference. Richard S. Wright, Jr. Nicholas Haemel Graham Sellers Benjamin Lipchak OpenGL SUPERBIBLE Fifth Edition Comprehensive Tutorial and Reference Richard S. Wright, Jr. Nicholas Haemel Graham Sellers Benjamin Lipchak AAddison-Wesley Upper Saddle River, NJ Boston Indianapolis San

More information

Cg 2.0. Mark Kilgard

Cg 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 information

Rationale for Non-Programmable Additions to OpenGL 2.0

Rationale for Non-Programmable Additions to OpenGL 2.0 Rationale for Non-Programmable Additions to OpenGL 2.0 NVIDIA Corporation March 23, 2004 This white paper provides a rationale for a set of functional additions to the 2.0 revision of the OpenGL graphics

More information

Grafica Computazionale: Lezione 30. Grafica Computazionale. Hiding complexity... ;) Introduction to OpenGL. lezione30 Introduction to OpenGL

Grafica 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 information

Superbuffers Workgroup Update. Barthold Lichtenbelt

Superbuffers Workgroup Update. Barthold Lichtenbelt Superbuffers Workgroup Update Barthold Lichtenbelt 1 EXT_framebuffer_object update Specification stable since September 2005 Version #118 posted to Registry April 2006 - Lay groundwork for R, RG rendering

More information

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Real-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 information

Introduction to OpenGL ES 3.0

Introduction to OpenGL ES 3.0 Introduction to OpenGL ES 3.0 Eisaku Ohbuchi Digital Media Professionals Inc. 2012 Digital Media Professionals Inc. All rights reserved. 12/Sep/2012 Page 1 Agenda DMP overview (quick!) OpenGL ES 3.0 update

More information

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1

Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Copyright Khronos Group Page 1 Next Generation OpenGL Neil Trevett Khronos President NVIDIA VP Mobile Ecosystem @neilt3d Copyright Khronos Group 2015 - Page 1 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon

More information

SIGGRAPH Briefing August 2014

SIGGRAPH Briefing August 2014 Copyright Khronos Group 2014 - Page 1 SIGGRAPH Briefing August 2014 Neil Trevett VP Mobile Ecosystem, NVIDIA President, Khronos Copyright Khronos Group 2014 - Page 2 Significant Khronos API Ecosystem Advances

More information

Working with Metal Overview

Working 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 information

Introduction. What s New in This Edition

Introduction. What s New in This Edition Introduction Welcome to the fourth edition of the OpenGL SuperBible. For more than ten years, we have striven to provide the world s best introduction to not only OpenGL, but 3D graphics programming in

More information

Copyright Khronos Group, Page 1. OpenCL. GDC, March 2010

Copyright Khronos Group, Page 1. OpenCL. GDC, March 2010 Copyright Khronos Group, 2011 - Page 1 OpenCL GDC, March 2010 Authoring and accessibility Application Acceleration System Integration Copyright Khronos Group, 2011 - Page 2 Khronos Family of Standards

More information

Graphics Processing Unit Architecture (GPU Arch)

Graphics 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 information

Programming Guide. Aaftab Munshi Dan Ginsburg Dave Shreiner. TT r^addison-wesley

Programming Guide. Aaftab Munshi Dan Ginsburg Dave Shreiner. TT r^addison-wesley OpenGUES 2.0 Programming Guide Aaftab Munshi Dan Ginsburg Dave Shreiner TT r^addison-wesley Upper Saddle River, NJ Boston Indianapolis San Francisco New York Toronto Montreal London Munich Paris Madrid

More information

OpenGL Essentials Training

OpenGL Essentials Training OpenGL Essentials Training 3-day session Overview Understanding principles of 3D programming Understanding drawing Primitives Understanding transformation matrix and Coloring Understanding Blending and

More information

GeForce3 OpenGL Performance. John Spitzer

GeForce3 OpenGL Performance. John Spitzer GeForce3 OpenGL Performance John Spitzer GeForce3 OpenGL Performance John Spitzer Manager, OpenGL Applications Engineering jspitzer@nvidia.com Possible Performance Bottlenecks They mirror the OpenGL pipeline

More information

20 Years of OpenGL. Kurt Akeley. Copyright Khronos Group, Page 1

20 Years of OpenGL. Kurt Akeley. Copyright Khronos Group, Page 1 20 Years of OpenGL Kurt Akeley Copyright Khronos Group, 2010 - Page 1 So many deprecations! Application-generated object names Color index mode SL versions 1.10 and 1.20 Begin / End primitive specification

More information

Lecture 2. Shaders, GLSL and GPGPU

Lecture 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 information

OpenGL BOF Siggraph 2011

OpenGL BOF Siggraph 2011 OpenGL BOF Siggraph 2011 OpenGL BOF Agenda OpenGL 4 update Barthold Lichtenbelt, NVIDIA OpenGL Shading Language Hints/Kinks Bill Licea-Kane, AMD Ecosystem update Jon Leech, Khronos Viewperf 12, a new beginning

More information

Standards for WebVR. Neil Trevett. Khronos President Vice President Mobile Content,

Standards for WebVR. Neil Trevett. Khronos President Vice President Mobile Content, Standards for WebVR Neil Trevett Khronos President Vice President Mobile Content, NVIDIA ntrevett@nvidia.com, @neilt3d October 2016 Copyright Khronos Group 2016 - Page 1 Khronos Open Standards Software

More information

CS 179 GPU Programming

CS 179 GPU Programming CS179: GPU Programming Lecture 7: Render to Texture Lecture originally by Luke Durant, Russell McClellan, Tamas Szalay 1 Today: Render to Texture Render to texture in OpenGL Framebuffers and renderbuffers

More information

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved Avi Shapira Graphic Remedy Copyright Khronos Group, 2009 - Page 1 2004 2009 Graphic Remedy. All Rights Reserved Debugging and profiling 3D applications are both hard and time consuming tasks Companies

More information

Graphics Performance Optimisation. John Spitzer Director of European Developer Technology

Graphics 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 information

What was removed? (1) OpenGL ES vs. OpenGL

What was removed? (1) OpenGL ES vs. OpenGL SLIDE 2 Outline What is? vs. OpenGL Profiles and versions EGL Surfaces on Windows CE and Symbian Implementations SLIDE 3 SLIDE 4 What is? Small-footprint subset of OpenGL OpenGL is too large for embedded

More information

Copyright Khronos Group Page 1

Copyright Khronos Group Page 1 Gaming Market Briefing Overview of APIs GDC March 2016 Neil Trevett Khronos President NVIDIA Vice President Developer Ecosystem ntrevett@nvidia.com @neilt3d Copyright Khronos Group 2016 - Page 1 Copyright

More information

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair

Mobile Graphics Ecosystem. Tom Olson OpenGL ES working group chair OpenGL ES in the Mobile Graphics Ecosystem Tom Olson OpenGL ES working group chair Director, Graphics Research, ARM Ltd 1 Outline Why Mobile Graphics? OpenGL ES Overview Getting Started with OpenGL ES

More information

API Background. Prof. George Wolberg Dept. of Computer Science City College of New York

API Background. Prof. George Wolberg Dept. of Computer Science City College of New York API Background Prof. George Wolberg Dept. of Computer Science City College of New York Objectives Graphics API history OpenGL API OpenGL function format Immediate Mode vs Retained Mode Examples The Programmer

More information

E.Order of Operations

E.Order of Operations Appendix E E.Order of Operations This book describes all the performed between initial specification of vertices and final writing of fragments into the framebuffer. The chapters of this book are arranged

More information

Lecture 13: OpenGL Shading Language (GLSL)

Lecture 13: OpenGL Shading Language (GLSL) Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 18, 2018 1/56 Motivation } Last week, we discussed the many of the new tricks in Graphics require low-level access to the Graphics

More information

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

Parallelizing 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 information

Introduction to the OpenGL Shading Language

Introduction to the OpenGL Shading Language Introduction to the OpenGL Shading Language Randi Rost Director of Developer Relations, 3Dlabs 08-Dec-2005 1 Why use graphics programmability? Graphics hardware has changed radically Fixed functionality

More information

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

Parallelizing 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 information

Motivation Hardware Overview Programming model. GPU computing. Part 1: General introduction. Ch. Hoelbling. Wuppertal University

Motivation Hardware Overview Programming model. GPU computing. Part 1: General introduction. Ch. Hoelbling. Wuppertal University Part 1: General introduction Ch. Hoelbling Wuppertal University Lattice Practices 2011 Outline 1 Motivation 2 Hardware Overview History Present Capabilities 3 Programming model Past: OpenGL Present: CUDA

More information

The Rendering Pipeline (1)

The Rendering Pipeline (1) The Rendering Pipeline (1) Alessandro Martinelli alessandro.martinelli@unipv.it 30 settembre 2014 The Rendering Pipeline (1) Rendering Architecture First Rendering Pipeline Second Pipeline: Illumination

More information

Graphics Pipeline & APIs

Graphics Pipeline & APIs Graphics Pipeline & APIs CPU Vertex Processing Rasterization Fragment Processing glclear (GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT); glpushmatrix (); gltranslatef (-0.15, -0.15, solidz); glmaterialfv(gl_front,

More information

Windowing System on a 3D Pipeline. February 2005

Windowing 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 information

GPU Memory Model Overview

GPU Memory Model Overview GPU Memory Model Overview John Owens University of California, Davis Department of Electrical and Computer Engineering Institute for Data Analysis and Visualization SciDAC Institute for Ultrascale Visualization

More information

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012 CS450/550 Pipeline Architecture Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012 0 Objectives Learn the basic components of a graphics system Introduce the OpenGL pipeline

More information

White Paper. Solid Wireframe. February 2007 WP _v01

White Paper. Solid Wireframe. February 2007 WP _v01 White Paper Solid Wireframe February 2007 WP-03014-001_v01 White Paper Document Change History Version Date Responsible Reason for Change _v01 SG, TS Initial release Go to sdkfeedback@nvidia.com to provide

More information

Programmable Graphics Hardware

Programmable 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 information

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

Graphics 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 information

frame buffer depth buffer stencil buffer

frame buffer depth buffer stencil buffer Final Project Proposals Programmable GPUS You should all have received an email with feedback Just about everyone was told: Test cases weren t detailed enough Project was possibly too big Motivation could

More information

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

Real - 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 information

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský

Real - 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 information

Module 13C: Using The 3D Graphics APIs OpenGL ES

Module 13C: Using The 3D Graphics APIs OpenGL ES Module 13C: Using The 3D Graphics APIs OpenGL ES BREW TM Developer Training Module Objectives See the steps involved in 3D rendering View the 3D graphics capabilities 2 1 3D Overview The 3D graphics library

More information

GPU Memory Model. Adapted from:

GPU 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 information

Graphics Pipeline & APIs

Graphics Pipeline & APIs 3 2 4 Graphics Pipeline & APIs CPU Vertex Processing Rasterization Processing glclear (GL_COLOR_BUFFER_BIT GL_DEPTH_BUFFER_BIT); glpushmatrix (); gltranslatef (-0.15, -0.15, solidz); glmaterialfv(gl_front,

More information

Screen Space Ambient Occlusion TSBK03: Advanced Game Programming

Screen Space Ambient Occlusion TSBK03: Advanced Game Programming Screen Space Ambient Occlusion TSBK03: Advanced Game Programming August Nam-Ki Ek, Oscar Johnson and Ramin Assadi March 5, 2015 This project report discusses our approach of implementing Screen Space Ambient

More information

RSX 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 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 information

The Application Stage. The Game Loop, Resource Management and Renderer Design

The 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 information

ARM. Mali GPU. OpenGL ES Application Optimization Guide. Version: 3.0. Copyright 2011, 2013 ARM. All rights reserved. ARM DUI 0555C (ID102813)

ARM. Mali GPU. OpenGL ES Application Optimization Guide. Version: 3.0. Copyright 2011, 2013 ARM. All rights reserved. ARM DUI 0555C (ID102813) ARM Mali GPU Version: 3.0 OpenGL ES Application Optimization Guide Copyright 2011, 2013 ARM. All rights reserved. ARM DUI 0555C () ARM Mali GPU OpenGL ES Application Optimization Guide Copyright 2011,

More information

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

X. 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 information

OpenGL on Android. Lecture 7. Android and Low-level Optimizations Summer School. 27 July 2015

OpenGL on Android. Lecture 7. Android and Low-level Optimizations Summer School. 27 July 2015 OpenGL on Android Lecture 7 Android and Low-level Optimizations Summer School 27 July 2015 This work is licensed under the Creative Commons Attribution 4.0 International License. To view a copy of this

More information

Why modern versions of OpenGL should be used Some useful API commands and extensions

Why modern versions of OpenGL should be used Some useful API commands and extensions Michał Radziszewski Why modern versions of OpenGL should be used Some useful API commands and extensions Timer Query EXT Direct State Access (DSA) Geometry Programs Position in pipeline Rendering wireframe

More information

The GPGPU Programming Model

The GPGPU Programming Model The Programming Model Institute for Data Analysis and Visualization University of California, Davis Overview Data-parallel programming basics The GPU as a data-parallel computer Hello World Example Programming

More information

More frames per second. Alex Kan and Jean-François Roy GPU Software

More frames per second. Alex Kan and Jean-François Roy GPU Software More frames per second Alex Kan and Jean-François Roy GPU Software 2 OpenGL ES Analyzer Tuning the graphics pipeline Analyzer demo 3 Developer preview Jean-François Roy GPU Software Developer Technologies

More information

Programmable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes

Programmable 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 information

Get the most out of the new OpenGL ES 3.1 API. Hans-Kristian Arntzen Software Engineer

Get the most out of the new OpenGL ES 3.1 API. Hans-Kristian Arntzen Software Engineer Get the most out of the new OpenGL ES 3.1 API Hans-Kristian Arntzen Software Engineer 1 Content Compute shaders introduction Shader storage buffer objects Shader image load/store Shared memory Atomics

More information

Graphics Hardware. Instructor Stephen J. Guy

Graphics 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 information

CS770/870 Spring 2017 Open GL Shader Language GLSL

CS770/870 Spring 2017 Open GL Shader Language GLSL Preview CS770/870 Spring 2017 Open GL Shader Language GLSL Review traditional graphics pipeline CPU/GPU mixed pipeline issues Shaders GLSL graphics pipeline Based on material from Angel and Shreiner, Interactive

More information

CS770/870 Spring 2017 Open GL Shader Language GLSL

CS770/870 Spring 2017 Open GL Shader Language GLSL CS770/870 Spring 2017 Open GL Shader Language GLSL Based on material from Angel and Shreiner, Interactive Computer Graphics, 6 th Edition, Addison-Wesley, 2011 Bailey and Cunningham, Graphics Shaders 2

More information

EECS 487: Interactive Computer Graphics

EECS 487: Interactive Computer Graphics EECS 487: Interactive Computer Graphics Lecture 21: Overview of Low-level Graphics API Metal, Direct3D 12, Vulkan Console Games Why do games look and perform so much better on consoles than on PCs with

More information

1.2.3 The Graphics Hardware Pipeline

1.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 information

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside CS130 : Computer Graphics Tamar Shinar Computer Science & Engineering UC Riverside Raster Devices and Images Raster Devices Hearn, Baker, Carithers Raster Display Transmissive vs. Emissive Display anode

More information

Copyright Khronos Group Page 1. Vulkan Overview. June 2015

Copyright Khronos Group Page 1. Vulkan Overview. June 2015 Copyright Khronos Group 2015 - Page 1 Vulkan Overview June 2015 Copyright Khronos Group 2015 - Page 2 Khronos Connects Software to Silicon Open Consortium creating OPEN STANDARD APIs for hardware acceleration

More information

TSBK03 Screen-Space Ambient Occlusion

TSBK03 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 information

Coding OpenGL ES 3.0 for Better Graphics Quality

Coding OpenGL ES 3.0 for Better Graphics Quality Coding OpenGL ES 3.0 for Better Graphics Quality Part 2 Hugo Osornio Rick Tewell A P R 1 1 t h 2 0 1 4 TM External Use Agenda Exercise 1: Array Structure vs Vertex Buffer Objects vs Vertex Array Objects

More information

Mattan Erez. The University of Texas at Austin

Mattan Erez. The University of Texas at Austin EE382V: Principles in Computer Architecture Parallelism and Locality Fall 2008 Lecture 10 The Graphics Processing Unit Mattan Erez The University of Texas at Austin Outline What is a GPU? Why should we

More information

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME)

Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Whiz-Bang Graphics and Media Performance for Java Platform, Micro Edition (JavaME) Pavel Petroshenko, Sun Microsystems, Inc. Ashmi Bhanushali, NVIDIA Corporation Jerry Evans, Sun Microsystems, Inc. Nandini

More information

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11 Pipeline Operations CS 4620 Lecture 11 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives to pixels RASTERIZATION

More information

ARM. Mali GPU. OpenGL ES Application Optimization Guide. Version: 2.0. Copyright 2011, 2013 ARM. All rights reserved. ARM DUI 0555B (ID051413)

ARM. Mali GPU. OpenGL ES Application Optimization Guide. Version: 2.0. Copyright 2011, 2013 ARM. All rights reserved. ARM DUI 0555B (ID051413) ARM Mali GPU Version: 2.0 OpenGL ES Application Optimization Guide Copyright 2011, 2013 ARM. All rights reserved. ARM DUI 0555B () ARM Mali GPU OpenGL ES Application Optimization Guide Copyright 2011,

More information

Free Downloads OpenGL ES 3.0 Programming Guide

Free Downloads OpenGL ES 3.0 Programming Guide Free Downloads OpenGL ES 3.0 Programming Guide OpenGLÂ Â ESâ is the industryâ s leading software interface and graphics library for rendering sophisticated 3D graphics on handheld and embedded devices.

More information

Today s Agenda. Basic design of a graphics system. Introduction to OpenGL

Today s Agenda. Basic design of a graphics system. Introduction to OpenGL Today s Agenda Basic design of a graphics system Introduction to OpenGL Image Compositing Compositing one image over another is most common choice can think of each image drawn on a transparent plastic

More information

GPGPU on Mobile Devices

GPGPU on Mobile Devices GPGPU on Mobile Devices Introduction Addressing GPGPU for very mobile devices Tablets Smartphones Introduction Why dedicated GPUs in mobile devices? Gaming Physics simulation for realistic effects 3D-GUI

More information

GLSL Overview: Creating a Program

GLSL Overview: Creating a Program 1. Create the OpenGL application GLSL Overview: Creating a Program Primarily concerned with drawing Preferred approach uses buffer objects All drawing done in terms of vertex arrays Programming style differs

More information

Spring 2009 Prof. Hyesoon Kim

Spring 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 information

Introduction to Shaders.

Introduction 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 information

Modern Processor Architectures (A compiler writer s perspective) L25: Modern Compiler Design

Modern Processor Architectures (A compiler writer s perspective) L25: Modern Compiler Design Modern Processor Architectures (A compiler writer s perspective) L25: Modern Compiler Design The 1960s - 1970s Instructions took multiple cycles Only one instruction in flight at once Optimisation meant

More information

Pipeline Operations. CS 4620 Lecture 14

Pipeline Operations. CS 4620 Lecture 14 Pipeline Operations CS 4620 Lecture 14 2014 Steve Marschner 1 Pipeline you are here APPLICATION COMMAND STREAM 3D transformations; shading VERTEX PROCESSING TRANSFORMED GEOMETRY conversion of primitives

More information

Spring 2011 Prof. Hyesoon Kim

Spring 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 information

Current Trends in Computer Graphics Hardware

Current Trends in Computer Graphics Hardware Current Trends in Computer Graphics Hardware Dirk Reiners University of Louisiana Lafayette, LA Quick Introduction Assistant Professor in Computer Science at University of Louisiana, Lafayette (since 2006)

More information

OpenGL ES 2.0 : Start Developing Now. Dan Ginsburg Advanced Micro Devices, Inc.

OpenGL ES 2.0 : Start Developing Now. Dan Ginsburg Advanced Micro Devices, Inc. OpenGL ES 2.0 : Start Developing Now Dan Ginsburg Advanced Micro Devices, Inc. Agenda OpenGL ES 2.0 Brief Overview Tools OpenGL ES 2.0 Emulator RenderMonkey w/ OES 2.0 Support OpenGL ES 2.0 3D Engine Case

More information

Building scalable 3D applications. Ville Miettinen Hybrid Graphics

Building scalable 3D applications. Ville Miettinen Hybrid Graphics Building scalable 3D applications Ville Miettinen Hybrid Graphics What s going to happen... (1/2) Mass market: 3D apps will become a huge success on low-end and mid-tier cell phones Retro-gaming New game

More information

2.11 Particle Systems

2.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 information

Mali Developer Resources. Kevin Ho ARM Taiwan FAE

Mali Developer Resources. Kevin Ho ARM Taiwan FAE Mali Developer Resources Kevin Ho ARM Taiwan FAE ARM Mali Developer Tools Software Development SDKs for OpenGL ES & OpenCL OpenGL ES Emulators Shader Development Studio Shader Library Asset Creation Texture

More information

CS 130 Final. Fall 2015

CS 130 Final. Fall 2015 CS 130 Final Fall 2015 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 information

Rendering Objects. Need to transform all geometry then

Rendering Objects. Need to transform all geometry then Intro to OpenGL Rendering Objects Object has internal geometry (Model) Object relative to other objects (World) Object relative to camera (View) Object relative to screen (Projection) Need to transform

More information

Deferred Rendering Due: Wednesday November 15 at 10pm

Deferred 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 information

Compute Shaders. Christian Hafner. Institute of Computer Graphics and Algorithms Vienna University of Technology

Compute Shaders. Christian Hafner. Institute of Computer Graphics and Algorithms Vienna University of Technology Compute Shaders Christian Hafner Institute of Computer Graphics and Algorithms Vienna University of Technology Overview Introduction Thread Hierarchy Memory Resources Shared Memory & Synchronization Christian

More information

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013

Lecture 9: Deferred Shading. Visual Computing Systems CMU , Fall 2013 Lecture 9: Deferred Shading Visual Computing Systems The course so far The real-time graphics pipeline abstraction Principle graphics abstractions Algorithms and modern high performance implementations

More information

GeForce4. John Montrym Henry Moreton

GeForce4. 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 information

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

CS 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 information

An Overview GLUT GLSL GLEW

An Overview GLUT GLSL GLEW OpenGL, GLUT, GLEW, GLSL An Overview GLUT GLEW GLSL Objectives Give you an overview of the software that you will be using this semester OpenGL, GLUT, GLEW, GLSL What are they? How do you use them? What

More information

Cornell University CS 569: Interactive Computer Graphics. Introduction. Lecture 1. [John C. Stone, UIUC] NASA. University of Calgary

Cornell University CS 569: Interactive Computer Graphics. Introduction. Lecture 1. [John C. Stone, UIUC] NASA. University of Calgary Cornell University CS 569: Interactive Computer Graphics Introduction Lecture 1 [John C. Stone, UIUC] 2008 Steve Marschner 1 2008 Steve Marschner 2 NASA University of Calgary 2008 Steve Marschner 3 2008

More information

Course Recap + 3D Graphics on Mobile GPUs

Course 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 information