New NVIDIA OpenGL Extensions. Simon Green NVIDIA Developer Technology
|
|
|
- Kory Hubbard
- 9 years ago
- Views:
Transcription
1 New NVIDIA OpenGL Extensions Simon Green NVIDIA Developer Technology
2 Overview Brief History of OpenGL Why extensions? New NVIDIA extensions
3 Brief History of OpenGL 1983 IRIS GL ships with SGI IRIS 1000 terminal 1987 SGI and Pixar consider joint API development 1991 OpenGL ARB created 1992 OpenGL 1.0 completed (June 30) 1995 OpenGL 1.1 released (vertex array, texture objects, new texenv modes) 1997 Fahrenheit agreement between SGI and Microsoft 1998 OpenGL 1.2 released (3D textures, separate specular, imaging) 1999 OpenGL released (multi-texture) 2001 OpenGL 1.3 released (compressed texture, cube maps, multi-sample, dot3) 2002 OpenGL 1.4 (mip-map generation, shadows, point parameters) 2003 OpenGL 1.5 (vertex buffer objects, occlusion query) ARB extensions: OpenGL Shading language, ARB_vertex_program, ARB_fragment_program 2004 OpenGL 2.0?
4 Why Extensions? Vendors want to expose as much hardware functionality as possible Lets early adopters try new features as soon as possible Proven functionality is then incorporated into multi-vendor extensions
5 Life of an Extension GL_NVX_foo experimental GL_NV_foo vendor specific GL_EXT_foo multi-vendor GL_ARB_foo Core OpenGL
6 History of Programmability in OpenGL EXT_texture_env_combine NV_register_combiners GeForce 256 NV_vertex_program GeForce 3 NV_texture_shader GeForce 3 NV_texture_shader3 GeForce 4 NV_vertex_program2 GeForce FX NV_fragment_program GeForce FX ARB_vertex_program ARB_fragment_program
7 New Extensions Two new program extensions NV_vertex_program3 NV_fragment_program2 Superset of DirectX 9 VS3.0 and PS3.0 functionality Exposed as options to ARB_vertex_program / ARB_fragment_program OPTION NV_vertex_program3; OPTION NV_fragment_program2; No new entry points, can use named parameters, temporaries etc. Previous program exts. also now available as options Functionality will also be exposed in OpenGL Shading Language
8 GL_NV_vertex_program3 Textures lookups in vertex programs! Index-able vertex attributes and result arrays More flexible skinning, animation MOV R0, vertex.attrib[a0.x+3]; MOV result.texcoord[a0.x+7], R0; Additional condition code register (2 total) Can push/pop address registers on stack For loop nesting, subroutine call / return PUSHA A0; POPA A0; Up to 512 instructions
9 Vertex Texture Supports GL_NEAREST filtering only (currently) Supports mip-mapping Need to calculate LOD yourself TEX, TXP (projective), TXL (explicit LOD) Multiple vertex texture units glgetintegerv(max_vertex_texture_image_units_arb) 4 units on new NVIDIA hardware Uses standard 2D texture targets glbindtexture(gl_texture_2d, displace_tex); Currently must use LUMINANCE_FLOAT32_ATI or RGBA_FLOAT32_ATI texture formats
10 Vertex Texture Applications Simple displacement mapping Not adaptive, hardware doesn t tessellate for you Only worth it if texture coordinates or texture contents are dynamic, otherwise displacement could be baked into vertex data Terrain, ocean rendering Render to vertex texture Provides feedback path from fragment program to vertex program Water simulation Particle systems Arbitrarily complex character animation
11 Vertex Texture Example!!ARBvp1.0 OPTION NV_vertex_program3; PARAM mvp[4] = { state.matrix.mvp }; PARAM scale = program.local[0]; TEMP pos, displace; # vertex texture lookup TEX displace, vertex.texcoord, texture[0], 2D; MUL displace.x, displace.x, scale; # displace along normal MAD pos.xyz, vertex.normal, displace.x, vertex.position; MOV pos.w, 1.0; # transform to clip space DP4 result.position.x, mvp[0], pos; DP4 result.position.y, mvp[1], pos; DP4 result.position.z, mvp[2], pos; DP4 result.position.w, mvp[3], pos; MOV result.color, vertex.color; MOV result.texcoord[0], texcoord; END
12 Vertex Texture Demo
13 GL_NV_vertex_program3 Performance Branching Dynamic branches only have ~2 cycle overhead Even if vertices take different branches Use this to avoid unnecessary vertex work (e.g. skinning) Vertex texture Look-ups are not free Try to cover texture fetch latency with other nondependent instructions NOT practical for use as extra constant memory
14 GL_NV_fragment_program2 Branching Limited static and data-dependent branching Fixed iteration-count loops Subroutine calls: CAL, RET New instructions: NRM, DIV, DP2 Texture lookup with explicit LOD (TXL) Indexed input attributes Facing register (front / back) can be used for two-sided lighting Up to 16K instructions
15 Instruction Set ABS absolute value ADD add BRK break out of loop instruction CAL subroutine call CMP compare COS cosine with reduction to [-PI,PI] DDX partial derivative relative to X DDY partial derivative relative to Y DIV divide vector components by scalar DP2 2-component dot product DP2A 2-comp. dot product w/scalar add DP3 3-component dot product DP4 4-component dot product DPH homogeneous dot product DST distance vector ELSE start if test else block ENDIF end if test block ENDLOOP end of loop block ENDREP end of repeat block EX2 exponential base 2 FLR floor FRC fraction IF start of if test block KIL kill fragment LG2 logarithm base 2 LIT compute light coefficients LOOP start of loop block LRP linear interpolation MAD multiply and add MAX maximum MIN minimum MOV move MUL multiply NRM normalize 3-component vector PK2H pack two 16-bit floats PK2US pack two unsigned 16-bit scalars PK4B pack four signed 8-bit scalars PK4UB pack four unsigned 8-bit scalars POW exponentiate RCP reciprocal REP start of repeat block RET subroutine return RFL reflection vector RSQ reciprocal square root SCS sine/cosine without reduction SEQ set on equal SFL set on false SGE set on greater than or equal SGT set on greater than SIN sine with reduction to [-PI,PI] SLE set on less than or equal SLT set on less than SNE set on not equal STR set on true SUB subtract SWZ extended swizzle TEX texture sample TXB texture sample with bias TXD texture sample w/partials TXL texture same w/explicit LOD TXP texture sample with projection UP2H unpack two 16-bit floats UP2US unpack two unsigned 16-bit scalars UP4B unpack four signed 8-bit scalars UP4UB unpack four unsigned 8-bit scalars X2D 2D coordinate transormation XPD cross product
16 Branching Three types of instruction blocks LOOP / ENDLOOP Uses loop index register A0.x REP / ENDREP Repeats a fixed number of times IF / ELSE / ENDIF Conditional execution based on condition codes BRK instruction can be used to conditionally exit loops Blocks may be nested
17 Looping Limitations Loop count cannot be computed at runtime Must be program parameter (constant) Number of iterations & nesting depth are limited Loop index register A0.x only available inside current loop can only be used to index vertex attributes Can t index into constant memory Can read data from texture instead
18 Branching Examples LOOP {8, 0, 1}; # loop count, initial, increment ADD R0, R0, fragment.texcoord[a0.x]; ENDLOOP; REP repcount; ADD R0, R0, R1; ENDREP; MOVC RC, R0; IF GT.x; MOV R0, R1; # executes if R0.x > 0 ELSE; MOV R0, R2; # executes if R0.x <= 0 ENDIF;
19 Subroutine Calls CAL Call subroutine, pushes return address on stack RET address is popped off stack, execution continues at return address execution stops if stack is empty, or overflows can use as early exit from top level Note no data stack no recursion! Labels Name followed by colon Execution will start at main: if present
20 Looping Example!!ARBfp1.0 OPTION NV_fragment_program2;... # loop over lights MOV lightindex.x, 0.0; REP nlights; TEXC lightpos, lightindex, texture[0], RECT; # read light pos from texture TEX lightcolor, lightindex, texture[1], RECT; # read light color from texture IF EQ.w; # lightpos.w == 0 CAL dirlight; ELSE; CAL pointlight; END ADD lightindex.x, lightindex, 1.0; # increment loop counter ENDREP; MOV result.color, color; RET; pointlight: RET; dirlight: RET
21 Fragment Program Branching Applications Uber shaders Avoids writing separate shaders for different numbers, types of lights Image processing Early exit in complex shaders Ray tracing Volume rendering Simulation
22 Multiple Lights Demo
23 Fragment Program Branching Performance Static branching is fast But still may not be worth it for short branches (less than ~5 instructions) Can use conditional execution instead Divergent (data-dependent) branching is more expensive Depends on which pixels take which branches
24 More Performance Tips Use half-precision where possible SHORT TEMP normal; Use NRM instruction for normalizing vectors, rather than DP3/RSQ/MUL Very fast for half-precision data Always use write masks mul r0.x, r0.x, r2.w (not mul r0, r0.x, r2.w )
25 Floating Point Filtering and Blending New NVIDIA hardware has fully-featured support for floating point textures FP16 texture filtering including tri-linear, aniso. FP16 blending Supports all texture targets, including cube maps, non-power-of-2 textures with mip-maps Exposed currently using ATI extensions: GL_ATI_texture_float WGL_ATI_pixel_format_float
26 FP16 Blending Example
27 HDR imagery FP16 Applications 16-bit integer texture formats are not enough for very high dynamic ranges Image based lighting Interactive HDR paint Multi-pass algorithms
28 Dynamic range: 200,000:1 HDR With Int 16 Format
29 Dynamic range: 200,000:1 HDR With FP 16 Format
30 Multiple Draw Buffers Equivalent to Direct3D Multiple Render Targets (MRT) Exposed via ATI_draw_buffers extension Allows outputting up to 4 colors from a fragment program in a single pass: MOV result.color[0], color; MOV result.color[1], N; MOV result.color[2], pos; MOV result.color[3], H; Useful for deferred shading algorithms Will be exposed in GLslang also
31 Draw Buffers Example
32 Conclusion NV_vertex_program3 and NV_fragment_program2 expose the latest in programmable shading Functionality will be available in vendorindependent extensions and OpenGL Shading Language soon Start thinking about these features now, future hardware will be even faster
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
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
OpenGL Performance Tuning
OpenGL Performance Tuning Evan Hart ATI Pipeline slides courtesy John Spitzer - NVIDIA Overview What to look for in tuning How it relates to the graphics pipeline Modern areas of interest Vertex Buffer
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
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
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
How To Write A Cg Toolkit Program
Cg Toolkit Cg 1.4.1 March 2006 Release Notes Cg Toolkit Release Notes The Cg Toolkit allows developers to write and run Cg programs using a wide variety of hardware platforms and graphics APIs. Originally
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
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
Optimization for DirectX9 Graphics. Ashu Rege
Optimization for DirectX9 Graphics Ashu Rege Last Year: Batch, Batch, Batch Moral of the story: Small batches BAD What is a batch Every DrawIndexedPrimitive call is a batch All render, texture, shader,...
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
INTRODUCTION TO RENDERING TECHNIQUES
INTRODUCTION TO RENDERING TECHNIQUES 22 Mar. 212 Yanir Kleiman What is 3D Graphics? Why 3D? Draw one frame at a time Model only once X 24 frames per second Color / texture only once 15, frames for a feature
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.
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
High Dynamic Range and other Fun Shader Tricks. Simon Green
High Dynamic Range and other Fun Shader Tricks Simon Green Demo Group Motto If you can t make it good, make it big. If you can t make it big, make it shiny. Overview The OpenGL vertex program and texture
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
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
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
CS412/CS413. Introduction to Compilers Tim Teitelbaum. Lecture 20: Stack Frames 7 March 08
CS412/CS413 Introduction to Compilers Tim Teitelbaum Lecture 20: Stack Frames 7 March 08 CS 412/413 Spring 2008 Introduction to Compilers 1 Where We Are Source code if (b == 0) a = b; Low-level IR code
Image Synthesis. Transparency. computer graphics & visualization
Image Synthesis Transparency Inter-Object realism Covers different kinds of interactions between objects Increasing realism in the scene Relationships between objects easier to understand Shadows, Reflections,
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
Advanced Visual Effects with Direct3D
Advanced Visual Effects with Direct3D Presenters: Mike Burrows, Sim Dietrich, David Gosselin, Kev Gee, Jeff Grills, Shawn Hargreaves, Richard Huddy, Gary McTaggart, Jason Mitchell, Ashutosh Rege and Matthias
Introduction to GPGPU. Tiziano Diamanti [email protected]
[email protected] 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
Interactive Level-Set Deformation On the GPU
Interactive Level-Set Deformation On the GPU Institute for Data Analysis and Visualization University of California, Davis Problem Statement Goal Interactive system for deformable surface manipulation
Optimizing Unity Games for Mobile Platforms. Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August
Optimizing Unity Games for Mobile Platforms Angelo Theodorou Software Engineer Unite 2013, 28 th -30 th August Agenda Introduction The author and ARM Preliminary knowledge Unity Pro, OpenGL ES 3.0 Identify
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
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
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
Central Processing Unit Simulation Version v2.5 (July 2005) Charles André University Nice-Sophia Antipolis
Central Processing Unit Simulation Version v2.5 (July 2005) Charles André University Nice-Sophia Antipolis 1 1 Table of Contents 1 Table of Contents... 3 2 Overview... 5 3 Installation... 7 4 The CPU
Instruction Set Design
Instruction Set Design Instruction Set Architecture: to what purpose? ISA provides the level of abstraction between the software and the hardware One of the most important abstraction in CS It s narrow,
Instruction Set Architecture. or How to talk to computers if you aren t in Star Trek
Instruction Set Architecture or How to talk to computers if you aren t in Star Trek The Instruction Set Architecture Application Compiler Instr. Set Proc. Operating System I/O system Instruction Set Architecture
2) Write in detail the issues in the design of code generator.
COMPUTER SCIENCE AND ENGINEERING VI SEM CSE Principles of Compiler Design Unit-IV Question and answers UNIT IV CODE GENERATION 9 Issues in the design of code generator The target machine Runtime Storage
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...
NVIDIA GeForce GTX 580 GPU Datasheet
NVIDIA GeForce GTX 580 GPU Datasheet NVIDIA GeForce GTX 580 GPU Datasheet 3D Graphics Full Microsoft DirectX 11 Shader Model 5.0 support: o NVIDIA PolyMorph Engine with distributed HW tessellation engines
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
General Purpose Computation on Graphics Processors (GPGPU) Mike Houston, Stanford University
General Purpose Computation on Graphics Processors (GPGPU) Mike Houston, Stanford University A little about me http://graphics.stanford.edu/~mhouston Education: UC San Diego, Computer Science BS Stanford
Real-Time BC6H Compression on GPU. Krzysztof Narkowicz Lead Engine Programmer Flying Wild Hog
Real-Time BC6H Compression on GPU Krzysztof Narkowicz Lead Engine Programmer Flying Wild Hog Introduction BC6H is lossy block based compression designed for FP16 HDR textures Hardware supported since DX11
GPU Architecture. An OpenCL Programmer s Introduction. Lee Howes November 3, 2010
GPU Architecture An OpenCL Programmer s Introduction Lee Howes November 3, 2010 The aim of this webinar To provide a general background to modern GPU architectures To place the AMD GPU designs in context:
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
Chapter 5 Functions. Introducing Functions
Chapter 5 Functions 1 Introducing Functions A function is a collection of statements that are grouped together to perform an operation Define a function Invoke a funciton return value type method name
Data Visualization Using Hardware Accelerated Spline Interpolation
Data Visualization Using Hardware Accelerated Spline Interpolation Petr Kadlec [email protected] Marek Gayer [email protected] Czech Technical University Department of Computer Science and Engineering
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
Specimen 2015 am/pm Time allowed: 1hr 30mins
SPECIMEN MATERIAL GCSE COMPUTER SCIENCE 8520/1 Paper 1 Specimen 2015 am/pm Time allowed: 1hr 30mins Materials There are no additional materials required for this paper. Instructions Use black ink or black
Scan-Line Fill. Scan-Line Algorithm. Sort by scan line Fill each span vertex order generated by vertex list
Scan-Line Fill Can also fill by maintaining a data structure of all intersections of polygons with scan lines Sort by scan line Fill each span vertex order generated by vertex list desired order Scan-Line
Software Virtual Textures
Software Virtual Textures J.M.P. van Waveren February 25th, 2012 2012, Id Software LLC, a Zenimax Media company. Abstract Modern simulations increasingly require the display of very large, uniquely textured
Introduction to Game Programming. Steven Osman [email protected]
Introduction to Game Programming Steven Osman [email protected] Introduction to Game Programming Introductory stuff Look at a game console: PS2 Some Techniques (Cheats?) What is a Game? Half-Life 2, Valve
CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis. Linda Shapiro Winter 2015
CSE373: Data Structures and Algorithms Lecture 3: Math Review; Algorithm Analysis Linda Shapiro Today Registration should be done. Homework 1 due 11:59 pm next Wednesday, January 14 Review math essential
Section V.3: Dot Product
Section V.3: Dot Product Introduction So far we have looked at operations on a single vector. There are a number of ways to combine two vectors. Vector addition and subtraction will not be covered here,
Data Parallel Computing on Graphics Hardware. Ian Buck Stanford University
Data Parallel Computing on Graphics Hardware Ian Buck Stanford University Brook General purpose Streaming language DARPA Polymorphous Computing Architectures Stanford - Smart Memories UT Austin - TRIPS
Computer Organization and Architecture
Computer Organization and Architecture Chapter 11 Instruction Sets: Addressing Modes and Formats Instruction Set Design One goal of instruction set design is to minimize instruction length Another goal
PROBLEMS (Cap. 4 - Istruzioni macchina)
98 CHAPTER 2 MACHINE INSTRUCTIONS AND PROGRAMS PROBLEMS (Cap. 4 - Istruzioni macchina) 2.1 Represent the decimal values 5, 2, 14, 10, 26, 19, 51, and 43, as signed, 7-bit numbers in the following binary
Dynamic Resolution Rendering
Dynamic Resolution Rendering Doug Binks Introduction The resolution selection screen has been one of the defining aspects of PC gaming since the birth of games. In this whitepaper and the accompanying
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
Water Flow in. Alex Vlachos, Valve July 28, 2010
Water Flow in Alex Vlachos, Valve July 28, 2010 Outline Goals & Technical Constraints How Artists Create Flow Maps Flowing Normal Maps in Left 4 Dead 2 Flowing Color Maps in Portal 2 Left 4 Dead 2 Goals
The OpenGL R Graphics System: A Specification (Version 3.3 (Core Profile) - March 11, 2010)
The OpenGL R Graphics System: A Specification (Version 3.3 (Core Profile) - March 11, 2010) Mark Segal Kurt Akeley Editor (version 1.1): Chris Frazier Editor (versions 1.2-3.3): Jon Leech Editor (version
GPU Christmas Tree Rendering. Evan Hart [email protected]
GPU Christmas Tree Rendering Evan Hart [email protected] February 2007 Document Change History Version Date Responsible Reason for Change 0.9 2/20/2007 Ehart Betarelease February 2007 ii Beta Release This
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
VLIW Processors. VLIW Processors
1 VLIW Processors VLIW ( very long instruction word ) processors instructions are scheduled by the compiler a fixed number of operations are formatted as one big instruction (called a bundle) usually LIW
1.4 Pixel Shaders. Jason L. Mitchell. 3D Application Research Group Lead [email protected]. 1.4 Pixel Shaders - ATI Technologies 1
1.4 Pixel Shaders Jason L. Mitchell 3D Application Research Group Lead [email protected] 1.4 Pixel Shaders - ATI Technologies 1 Outline Pixel Shader Overview 1.1 Shader Review 1.4 Pixel Shaders Unified Instruction
FLOATING-POINT ARITHMETIC IN AMD PROCESSORS MICHAEL SCHULTE AMD RESEARCH JUNE 2015
FLOATING-POINT ARITHMETIC IN AMD PROCESSORS MICHAEL SCHULTE AMD RESEARCH JUNE 2015 AGENDA The Kaveri Accelerated Processing Unit (APU) The Graphics Core Next Architecture and its Floating-Point Arithmetic
Outline. srgb DX9, DX10, XBox 360. Tone Mapping. Motion Blur
Outline srgb DX9, DX10, XBox 360 Tone Mapping Motion Blur srgb Outline srgb & gamma review Alpha Blending: DX9 vs. DX10 & XBox 360 srgb curve: PC vs. XBox 360 srgb Review Terminology: Color textures are
Solution: start more than one instruction in the same clock cycle CPI < 1 (or IPC > 1, Instructions per Cycle) Two approaches:
Multiple-Issue Processors Pipelining can achieve CPI close to 1 Mechanisms for handling hazards Static or dynamic scheduling Static or dynamic branch handling Increase in transistor counts (Moore s Law):
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
Workstation Applications for Windows. NVIDIA MAXtreme User s Guide
Workstation Applications for Windows NVIDIA MAXtreme User s Guide Software Version: 6.00.xx NVIDIA Corporation February 2004 NVIDIA MAXtreme Published by NVIDIA Corporation 2701 San Tomas Expressway Santa
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
Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Sample Exam Questions 2007
Monash University Clayton s School of Information Technology CSE3313 Computer Graphics Questions 2007 INSTRUCTIONS: Answer all questions. Spend approximately 1 minute per mark. Question 1 30 Marks Total
Volume Rendering on Mobile Devices. Mika Pesonen
Volume Rendering on Mobile Devices Mika Pesonen University of Tampere School of Information Sciences Computer Science M.Sc. Thesis Supervisor: Martti Juhola June 2015 i University of Tampere School of
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.
1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++
Answer the following 1) The postfix expression for the infix expression A+B*(C+D)/F+D*E is ABCD+*F/DE*++ 2) Which data structure is needed to convert infix notations to postfix notations? Stack 3) The
LINEAR INEQUALITIES. less than, < 2x + 5 x 3 less than or equal to, greater than, > 3x 2 x 6 greater than or equal to,
LINEAR INEQUALITIES When we use the equal sign in an equation we are stating that both sides of the equation are equal to each other. In an inequality, we are stating that both sides of the equation are
OpenCL Optimization. San Jose 10/2/2009 Peng Wang, NVIDIA
OpenCL Optimization San Jose 10/2/2009 Peng Wang, NVIDIA Outline Overview The CUDA architecture Memory optimization Execution configuration optimization Instruction optimization Summary Overall Optimization
Introduction to WebGL
Introduction to WebGL Alain Chesnais Chief Scientist, TrendSpottr ACM Past President [email protected] http://www.linkedin.com/in/alainchesnais http://facebook.com/alain.chesnais Housekeeping If you are
CUBE-MAP DATA STRUCTURE FOR INTERACTIVE GLOBAL ILLUMINATION COMPUTATION IN DYNAMIC DIFFUSE ENVIRONMENTS
ICCVG 2002 Zakopane, 25-29 Sept. 2002 Rafal Mantiuk (1,2), Sumanta Pattanaik (1), Karol Myszkowski (3) (1) University of Central Florida, USA, (2) Technical University of Szczecin, Poland, (3) Max- Planck-Institut
System requirements for Autodesk Building Design Suite 2017
System requirements for Autodesk Building Design Suite 2017 For specific recommendations for a product within the Building Design Suite, please refer to that products system requirements for additional
Notes for EER #4 Graph transformations (vertical & horizontal shifts, vertical stretching & compression, and reflections) of basic functions.
Notes for EER #4 Graph transformations (vertical & horizontal shifts, vertical stretching & compression, and reflections) of basic functions. Basic Functions In several sections you will be applying shifts
COMP 356 Programming Language Structures Notes for Chapter 10 of Concepts of Programming Languages Implementing Subprograms.
COMP 356 Programming Language Structures Notes for Chapter 10 of Concepts of Programming Languages Implementing Subprograms 1 Activation Records activation declaration location Recall that an activation
Introduction to Computer Graphics
Introduction to Computer Graphics Torsten Möller TASC 8021 778-782-2215 [email protected] www.cs.sfu.ca/~torsten Today What is computer graphics? Contents of this course Syllabus Overview of course topics
Regression Verification: Status Report
Regression Verification: Status Report Presentation by Dennis Felsing within the Projektgruppe Formale Methoden der Softwareentwicklung 2013-12-11 1/22 Introduction How to prevent regressions in software
The Future Of Animation Is Games
The Future Of Animation Is Games 王 銓 彰 Next Media Animation, Media Lab, Director [email protected] The Graphics Hardware Revolution ( 繪 圖 硬 體 革 命 ) : GPU-based Graphics Hardware Multi-core (20 Cores
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
GPGPU: General-Purpose Computation on GPUs
GPGPU: General-Purpose Computation on GPUs Randy Fernando NVIDIA Developer Technology Group (Original Slides Courtesy of Mark Harris) Why GPGPU? The GPU has evolved into an extremely flexible and powerful
This Unit: Floating Point Arithmetic. CIS 371 Computer Organization and Design. Readings. Floating Point (FP) Numbers
This Unit: Floating Point Arithmetic CIS 371 Computer Organization and Design Unit 7: Floating Point App App App System software Mem CPU I/O Formats Precision and range IEEE 754 standard Operations Addition
Divide: Paper & Pencil. Computer Architecture ALU Design : Division and Floating Point. Divide algorithm. DIVIDE HARDWARE Version 1
Divide: Paper & Pencil Computer Architecture ALU Design : Division and Floating Point 1001 Quotient Divisor 1000 1001010 Dividend 1000 10 101 1010 1000 10 (or Modulo result) See how big a number can be
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,
Parameter Passing in Pascal
Parameter Passing in Pascal Mordechai Ben-Ari Department of Science Teaching Weizmann Institute of Science Rehovot 76100 Israel [email protected] Abstract This paper claims that reference parameters
Introduction to GP-GPUs. Advanced Computer Architectures, Cristina Silvano, Politecnico di Milano 1
Introduction to GP-GPUs Advanced Computer Architectures, Cristina Silvano, Politecnico di Milano 1 GPU Architectures: How do we reach here? NVIDIA Fermi, 512 Processing Elements (PEs) 2 What Can It Do?
Stack Allocation. Run-Time Data Structures. Static Structures
Run-Time Data Structures Stack Allocation Static Structures For static structures, a fixed address is used throughout execution. This is the oldest and simplest memory organization. In current compilers,
Blender addons ESRI Shapefile import/export and georeferenced raster import
Blender addons ESRI Shapefile import/export and georeferenced raster import This blender addon is a collection of 4 tools: ESRI Shapefile importer - Import point, pointz, polyline, polylinez, polygon,
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
Procedural Shaders: A Feature Animation Perspective
Procedural Shaders: A Feature Animation Perspective Hector Yee, Rendering Specialist, PDI/DreamWorks David Hart, Senior FX Developer, PDI/DreamWorks Arcot J. Preetham, Senior Engineer, ATI Research Motivation
Introduction to GPU Architecture
Introduction to GPU Architecture Ofer Rosenberg, PMTS SW, OpenCL Dev. Team AMD Based on From Shader Code to a Teraflop: How GPU Shader Cores Work, By Kayvon Fatahalian, Stanford University Content 1. Three
