The OpenGL Framebuffer Object Extension. Simon Green. NVIDIA Corporation
|
|
|
- Lilian Murphy
- 9 years ago
- Views:
Transcription
1 The OpenGL Framebuffer Object Extension Simon Green NVIDIA Corporation
2 Overview Why render to texture? P-buffer / ARB render texture review Framebuffer object extension Examples Future directions
3 Why Render To Texture? Allows results of rendering to framebuffer to be directly read as texture Better performance avoids copy from framebuffer to texture (glcopytexsubimage2d) uses less memory only one copy of image but driver may sometimes have to do copy internally some hardware has separate texture and FB memory different internal representations Applications dynamic textures procedurals, reflections multi-pass techniques anti-aliasing, aliasing, motion blur, depth of field image processing effects (blurs etc.) GPGPU provides feedback loop
4 WGL_ARB_pbuffer Pixel buffers Designed for off-screen rendering Similar to windows, but non-visible Window system specific extension Select from an enumerated list of available pixel formats using ChoosePixelFormat() DescribePixelFormat()
5 Problems with PBuffers Each pbuffer usually has its own OpenGL context (Assuming they have different pixel formats) Can share texture objects, display lists between pbuffers using wglsharelists() Painful to manage, causes lots of bugs Switching between pbuffers is expensive wglmakecurrent() causes context switch Each pbuffer has its own depth, stencil, aux buffers Cannot share depth buffers between pbuffers
6 WGL_ARB_render_texture Allows the color or depth buffer of a pbuffer to be bound as a texture BOOL wglbindteximagearb(hpbufferarb hpbuffer, int ibuffer BOOL wglreleaseteximagearb(hpbufferarb hpbuffer, int ibuffer) Window system specific GLX version of specification was never defined MacOS X - APPLE_pixel_buffer Texture format is determined by pixel format of pbuffer Portable applications need to create a separate pbuffer for each renderable texture
7 Pbuffer Tricks The front and back buffers of a double- buffered pbuffer can be bound as separate textures gldrawbuffer(gl_front); // draw to front gldrawbuffer(gl_back); // draw to back // bind front and back buffers as textures wglbindteximagearb(pbuffer,, WGL_FRONT_LEFT_ARB); wglbindteximagearb(pbuffer,, WGL_BACK_LEFT_ARB); This gives you two buffers that you can switch between without incurring context switching cost On systems that support multiple render targets (ARB_draw_buffers) you can also use AUX buffers
8 Render To Texture And Anti-Aliasing Aliasing Render to texture doesn t t work with multi- sample anti-aliasing aliasing current texture hardware isn t t capable of reading from a multi-sampled buffer could be implemented in driver using copy Common problem with post-processing processing effects in games Solution: create a normal multi-sampled pbuffer,, and use glcopyteximage2d to copy from this to a texture the copy performs the down-sampling automatically Also possible to do your own super-sample sample anti-aliasing aliasing in the application much more expensive than multi-sampling
9 Anti-Aliasing Aliasing with Post Processing Without AA With AA
10 The Framebuffer Object Extension Specification finally published! Available in beta drivers from NVIDIA
11 Framebuffer Object Advantages Only requires a single OpenGL context switching between framebuffers is faster than switching between pbuffers (wglmakecurrent) No need for complicated pixel format selection format of framebuffer is determined by texture or renderbuffer format puts burden of finding compatible formats on developer More similar to Direct3D render target model makes porting code easier Renderbuffer images and texture images can be shared among framebuffers e.g. share depth buffers between color targets saves memory
12 EXT_framebuffer_object OpenGL framebuffer is a collection of logical buffers color, depth, stencil, accumulation Framebuffer object extension provides a new mechanism for rendering to destinations other than those provided by the window system window system independent Destinations known as framebuffer- attachable images.. Can be: off-screen buffers (Renderbuffers( Renderbuffers) textures
13 Framebuffer Object Architecture Framebuffer object Texture objects Color attachment 0... Color attachment n Texture image Depth attachment Stencil attachment Other state Renderbuffer objects Renderbuffer image
14 Terminology Renderbuffer image 2D array of pixels. Part of a renderbuffer object. Framebuffer-attachable attachable image 2D array of pixels that can be attached to a framebuffer. Texture images and renderbuffer images are examples. Attachment point State that references a framebuffer-attachable attachable image. One each for color, depth and stencil buffer of a framebuffer. Attach the act of connecting one object to another. Similar to bind. Framebuffer attachment completeness Framebuffer completeness
15 Framebuffers and Renderbuffers Introduces two new OpenGL objects: Framebuffer (FBO) collection of framebuffer-attachable attachable images (e.g. color, depth, stencil) plus state defining where output of GL rendering is directed equivalent to window system drawable Renderbuffer (RB) contains a simple 2D image no mipmaps, cubemap faces etc. stores pixel data resulting from rendering cannot be used as textures
16 Framebuffer Objects When a framebuffer object is bound its attached images are the source and destination for fragment operations Color and depth textures Supports multiple color attachments for MRT Color, depth or stencil renderbuffers
17 Framebuffer Object API void GenFramebuffersEXT(sizei n, uint *framebuffers); void DeleteFramebuffersEXT(sizei n, const uint *framebuffers); boolean IsFramebufferEXT(uint framebuffer); void BindFramebufferEXT(enum target, uint framebuffer); enum CheckFramebufferStatusEXT(enum target);
18 Framebuffer Object API void FramebufferTexture1DEXT(enum target, enum attachment, enum textarget, uint texture, int level); void FramebufferTexture2DEXT(enum target, enum attachment, enum textarget, uint texture, int level); void FramebufferTexture3DEXT(enum target, enum attachment, enum textarget, uint texture, int level, int zoffset); void FramebufferRenderbufferEXT(enum target, enum attachment, enum renderbuffertarget, uint renderbuffer); void GetFramebufferAttachmentParameterivEXT(enum target, enum attachment, enum pname, int *params); void GenerateMipmapEXT(enum target);
19 Managing FBOs and Renderbuffers Creating and destroying FBOs (and Renderbuffers) ) is easy - similar to texture objects void GenFramebuffersEXT(sizei sizei n, uint *framebuffers); void DeleteFramebuffersEXT(sizei sizei n, const uint *framebuffers); void BindFramebufferEXT(enum enum target, uint framebuffer); Can also check if a given identifier is a framebuffer object (rarely used) boolean IsFramebufferEXT(uint uint framebuffer);
20 Binding an FBO void BindFramebufferEXT(enum enum target, uint framebuffer); Makes given FBO current all GL operations occur on attached images target must be FRAMEBUFFER_EXT framebuffer is FBO identifier if framebuffer==0, GL operations operate on window- system provided framebuffer (i.e. the window). This is the default state. Set of state that can change on a framebuffer bind: AUX_BUFFERS, MAX_DRAW_BUFFERS, STEREO, SAMPLES, X_BITS, DOUBLE_BUFFER and a few more
21 Attaching Textures to a Framebuffer void FramebufferTexture2DEXT(enum target, enum attachment, enum textarget, uint texture, int level); Attaches image from a texture object to one of the logical buffers of the currently bound framebuffer target must be FRAMEBUFFER_EXT attachment is one of: COLOR_ATTACHMENT0_EXT... COLOR_ATTACHMENTn_EXT, DEPTH_ATTACHMENT_EXT, STENCIL_ATTACHMENT_EXT textarget must be one of: TEXTURE_2D, TEXTURE_RECTANGLE, TEXTURE_CUBE_MAP_POSITIVE_X etc. level is the mipmap level of the texture to attach texture is the texture object to attach if texture==0, the image is detached from the framebuffer Other texture dimensions are similar for 3D textures, z-offset specifies slice
22 Renderbuffer API void GenRenderbuffersEXT(sizei n, uint *renderbuffers); void DeleteRenderbuffersEXT(sizei n, const uint *renderbuffers); boolean IsRenderbufferEXT(uint renderbuffer); void BindRenderbufferEXT(enum target, uint renderbuffer); void RenderbufferStorageEXT(enum target, enum internalformat, sizei width, sizei height); void GetRenderbufferParameterivEXT(enum target, enum pname, int* params);
23 Defining RenderBuffer Storage void RenderbufferStorageEXT(enum enum target, enum internalformat, sizei width, sizei height); Defines format and dimensions of a Renderbuffer similar to TexImage call, but without image data can read and write data using Read/DrawPixels etc. target must be RENDERBUFFER_EXT internalformat can be normal texture format (e.g. GL_RGBA8, GL_DEPTH_COMPONENT24) or: STENCIL_INDEX1_EXT STENCIL_INDEX4_EXT STENCIL_INDEX8_EXT STENCIL_INDEX16_EXT
24 Attaching Renderbuffers to a Framebuffer void FramebufferRenderbufferEXT(enum target, enum attachment, enum renderbuffertarget, uint renderbuffer); Attaches given renderbuffer as one of the logical buffers of the currently bound framebuffer target must be FRAMEBUFFER_EXT attachment is one of: COLOR_ATTACHMENT0_EXT... COLOR_ATTACHMENTn_EXT Maximum number of color attachments implementation dependent - query MAX_COLOR_ATTACHMENTS_EXT DEPTH_ATTACHMENT_EXT STENCIL_ATTACHMENT_EXT renderbuffertarget must be RENDERBUFFER_EXT renderbuffer is a renderbuffer id
25 Generating Mipmaps void GenerateMipmapEXT(enum enum target); Automatically generates mipmaps for texture image attached to target Generates same images as GL_SGIS_generate_mipmap extension filtering is undefined, most likely simple 2x2 box filter Implemented as new entry point for complicated reasons (see spec).
26 Framebuffer Completeness Framebuffer is complete if all attachments are consistent texture formats make sense for attachment points i.e. don t t try and attach a depth texture to a color attachment all attached images must have the same width and height all images attached to COLOR_ATTACHMENT0_EXT - COLOR_ATTACHMENTn_EXT must have same format If not complete, glbegin will generate error INVALID_FRAMEBUFFER_OPERATION
27 Checking Framebuffer Status enum CheckFramebufferStatusEXT(enum enum target); Should always be called after setting up FBOs Returns enum indicating why framebuffer is incomplete: FRAMEBUFFER_COMPLETE FRAMEBUFFER_INCOMPLETE_ATTACHMENT FRAMEBUFFER_INCOMPLETE_MISSING_ATTACHMENT FRAMEBUFFER_INCOMPLETE_DUPLICATE_ATTACHMENT FRAMEBUFFER_INCOMPLETE_DIMENSIONS_EXT FRAMEBUFFER_INCOMPLETE_FORMATS_EXT FRAMEBUFFER_INCOMPLETE_DRAW_BUFFER_EXT FRAMEBUFFER_INCOMPLETE_READ_BUFFER_EXT FRAMEBUFFER_UNSUPPORTED FRAMEBUFFER_STATUS_ERROR Completeness is implementation-dependent if result is FRAMEBUFFER_UNSUPPORTED,, application should try different format combinations until one succeeds
28 FBO Performance Tips Don t t create and destroy FBOs every frame Try to avoid modifying textures used as rendering destinations using TexImage, CopyTexImage etc.
29 FBO Usage Scenarios FBO allows several ways of switching between rendering destinations In order of increasing performance: Multiple FBOs create a separate FBO for each texture you want to render to switch using BindFramebuffer() can be 2x faster than wglmakecurrent() in beta NVIDIA drivers Single FBO, multiple texture attachments textures should have same format and dimensions use FramebufferTexture() to switch between textures Single FBO, multiple texture attachments attach textures to different color attachments use gldrawbuffer() to switch rendering to different color attachments
30 Simple FBO Example #define CHECK_FRAMEBUFFER_STATUS() \ { \ GLenum status; \ status = glcheckframebufferstatusext(gl_framebuffer_ext); \ switch(status) { \ case GL_FRAMEBUFFER_COMPLETE_EXT: \ break; \ case GL_FRAMEBUFFER_UNSUPPORTED_EXT: \ /* choose different formats */ \ break; \ default: \ /* programming error; will fail on all hardware */ \ assert(0); \ } \ }
31 Simple FBO Example GLuint fb, depth_rb, tex; // create objects glgenframebuffersext(1, &fb); // frame buffer glgenrenderbuffersext(1, &depth_rb); // render buffer glgentextures(1, &tex); // texture glbindframebufferext(gl_framebuffer_ext, fb); // initialize texture glbindtexture(gl_texture_2d, tex); glteximage2d(gl_texture_2d, 0, GL_RGBA8, width, height, 0, GL_RGBA, GL_UNSIGNED_BYTE, NULL); // (set texture parameters here) // attach texture to framebuffer color buffer glframebuffertexture2dext(gl_framebuffer_ext, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, tex, 0);
32 Simple FBO Example // initialize depth renderbuffer glbindrenderbufferext(gl_renderbuffer_ext, depth_rb); glrenderbufferstorageext(gl_renderbuffer_ext, GL_DEPTH_COMPONENT24, width, height); // attach renderbuffer to framebuffer depth buffer glframebufferrenderbufferext(gl_framebuffer_ext, GL_DEPTH_ATTACHMENT_EXT, GL_RENDERBUFFER_EXT, depth_rb); CHECK_FRAMEBUFFER_STATUS();... // render to the FBO glbindframebufferext(gl_framebuffer_ext, fb); // (draw something here, rendering to texture) // render to the window, using the texture glbindframebufferext(gl_framebuffer_ext, 0); glbindtexture(gl_texture_2d, tex);
33 Future Directions Currently an EXT extension will be promoted to an ARB extension once the design is proven Got feedback? Give it to the OpenGL ARB! Future extensions Render to vertex attribute likely built on top of Renderbuffers Format groups like pixel formats, defines groups of formats that work together for a given implementation Multisampling, accumulation buffer support
34 Thanks Jeff Juliano, Mike Strauss and the rest of the NVIDIA OpenGL driver team Jeremy Sandmel,, Jeff Juliano and the rest of the ARB Superbuffers working group
How To Use An Amd Graphics Card In Greece 2.5.1 And 2.4.1 (Amd) With Greege 2.3.5 (Greege) With An Amd Greeper 2.2.
AMD GPU Association Targeting GPUs for Load Balancing in OpenGL The contents of this document are provided in connection with Advanced Micro Devices, Inc. ( AMD ) products. THE INFORMATION IN THIS PUBLICATION
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
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
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
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,
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
OpenGL Insights. Edited by. Patrick Cozzi and Christophe Riccio
OpenGL Insights Edited by Patrick Cozzi and Christophe Riccio ARB debug output: A Helping Hand for Desperate Developers 33 António Ramires Fernandes and Bruno Oliveira 33.1 Introduction Since the inception
OpenGL R Graphics with the X Window System R (Version 1.4)
OpenGL R Graphics with the X Window System R (Version 1.4) Editors (versions 1.0-1.2): Phil Karlton, Paula Womack Editors (version 1.3): Paula Womack, Jon Leech Editor (version 1.4): Jon Leech Copyright
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
OpenGL Insights. Edited by. Patrick Cozzi and Christophe Riccio
OpenGL Insights Edited by Patrick Cozzi and Christophe Riccio Browser Graphics Analysis and Optimizations 36 Chris Dirks and Omar A. Rodriguez 36.1 Introduction Understanding performance bottlenecks in
Experiences with 2-D and 3-D Mathematical Plots on the Java Platform
Experiences with 2-D and 3-D Mathematical Plots on the Java Platform David Clayworth Maplesoft What you will learn > Techniques for writing software that plots mathematical and scientific data > How to
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
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
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
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
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 & Delphi. Max Kleiner. http://max.kleiner.com/download/openssl_opengl.pdf 1/22
OpenGL & Delphi Max Kleiner http://max.kleiner.com/download/openssl_opengl.pdf 1/22 OpenGL http://www.opengl.org Evolution of Graphics Assembler (demo pascalspeed.exe) 2D 3D Animation, Simulation (Terrain_delphi.exe)
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
Beyond 2D Monitor NVIDIA 3D Stereo
Beyond 2D Monitor NVIDIA 3D Stereo Agenda Basics of 3D Stereo on a PC NVIDIA GeForce 3D Stereo Drivers Maximizing 3D Stereo in Your Game 3D Stereoscopic Has Gone Mainstream Agenda Basics of 3D Stereo on
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
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
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
Intel 845G/GL Chipset Dynamic Video Memory Technology
R Intel 845G/GL Chipset Dynamic Video Memory Technology Revision 1.2 June 2002 May 2002 1 Information in this document is provided in connection with Intel products. No license, express or implied, by
Methodology for Lecture. Review of Last Demo
Basic Geometry Setup Methodology for Lecture Make mytest1 more ambitious Sequence of steps Demo Review of Last Demo Changed floor to all white, added global for teapot and teapotloc, moved geometry to
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
WebCL for Hardware-Accelerated Web Applications. Won Jeon, Tasneem Brutch, and Simon Gibbs
WebCL for Hardware-Accelerated Web Applications Won Jeon, Tasneem Brutch, and Simon Gibbs What is WebCL? WebCL is a JavaScript binding to OpenCL. WebCL enables significant acceleration of compute-intensive
3D Stereoscopic Game Development. How to Make Your Game Look
3D Stereoscopic Game Development How to Make Your Game Look Like Beowulf 3D 3D Stereoscopic Has Gone 3D Stereoscopic Has Gone Mainstream 3D Enabled Cinemas are Growing 1200 1000 800 600 400 200 0 2005
How To Use An Amd Ramfire R7 With A 4Gb Memory Card With A 2Gb Memory Chip With A 3D Graphics Card With An 8Gb Card With 2Gb Graphics Card (With 2D) And A 2D Video Card With
SAPPHIRE R9 270X 4GB GDDR5 WITH BOOST & OC Specification Display Support Output GPU Video Memory Dimension Software Accessory 3 x Maximum Display Monitor(s) support 1 x HDMI (with 3D) 1 x DisplayPort 1.2
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
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
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
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
Beginning Android 4. Games Development. Mario Zechner. Robert Green
Beginning Android 4 Games Development Mario Zechner Robert Green Contents Contents at a Glance About the Authors Acknowledgments Introduction iv xii xiii xiv Chapter 1: Android, the New Kid on the Block...
Affdex SDK for Windows!
Affdex SDK for Windows SDK Developer Guide 1 Introduction Affdex SDK is the culmination of years of scientific research into emotion detection, validated across thousands of tests worldwide on PC platforms,
SAPPHIRE TOXIC R9 270X 2GB GDDR5 WITH BOOST
SAPPHIRE TOXIC R9 270X 2GB GDDR5 WITH BOOST Specification Display Support Output GPU Video Memory Dimension Software Accessory supports up to 4 display monitor(s) without DisplayPort 4 x Maximum Display
Shadows. Shadows. Thanks to: Frédo Durand and Seth Teller MIT. Realism Depth cue
Shadows Thanks to: Frédo Durand and Seth Teller MIT 1 Shadows Realism Depth cue 2 1 Shadows as depth cue 3 Spatial relationship between objects Michael McCool Univ of Waterloo 4 2 Spatial relationship
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
Aston University. School of Engineering & Applied Science
CS2150 Aston University School of Engineering & Applied Science CS2150: Computer Graphics January Examinations 2010 Date: XXX Time: XXX Instructions to Candidates: 1. Answer Question ONE and any other
Lesson 10: Video-Out Interface
Lesson 10: Video-Out Interface 1. Introduction The Altera University Program provides a number of hardware controllers, called cores, to control the Video Graphics Array (VGA) Digital-to-Analog Converter
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
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,
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
QuickSpecs. NVIDIA Quadro K4200 4GB Graphics INTRODUCTION. NVIDIA Quadro K4200 4GB Graphics. Overview
Overview J3G89AA INTRODUCTION The NVIDIA Quadro K4200 delivers incredible 3D application performance and capability, allowing you to take advantage of dual copy-engines for seamless data movement within
NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH [email protected] SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA
NVPRO-PIPELINE A RESEARCH RENDERING PIPELINE MARKUS TAVENRATH [email protected] SENIOR DEVELOPER TECHNOLOGY ENGINEER, NVIDIA GFLOPS 3500 3000 NVPRO-PIPELINE Peak Double Precision FLOPS GPU perf improved
Quick Tutorial. Overview. The NVIDIA Software Improvement Program. Creating an Effect
Quick Tutorial Overview This chapter presents a very short FX Composer 2.5 tutorial to quickly introduce you to several convenient and powerful new features. We highly recommend this tutorial, particularly
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
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
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.
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
Boolean Expressions, Conditions, Loops, and Enumerations. Precedence Rules (from highest to lowest priority)
Boolean Expressions, Conditions, Loops, and Enumerations Relational Operators == // true if two values are equivalent!= // true if two values are not equivalent < // true if left value is less than the
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
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
OpenGL 4.3 and Beyond. Mark Kilgard
OpenGL 4.3 and Beyond Mark Kilgard Talk Details Location: Conference Hall K, Singapore EXPO Date: Thursday, November 29, 2012 Time: 11:00 AM - 11:50 PM Mark Kilgard (Principal Software Engineer, NVIDIA,
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
QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Overview. NVIDIA Quadro K5200 8GB Graphics J3G90AA
Overview J3G90AA INTRODUCTION The NVIDIA Quadro K5200 gives you amazing application performance and capability, making it faster and easier to accelerate 3D models, render complex scenes, and simulate
SAPPHIRE VAPOR-X R9 270X 2GB GDDR5 OC WITH BOOST
SAPPHIRE VAPOR-X R9 270X 2GB GDDR5 OC WITH BOOST Specification Display Support Output GPU Video Memory Dimension Software Accessory 4 x Maximum Display Monitor(s) support 1 x HDMI (with 3D) 1 x DisplayPort
Universal Serial Bus (USB)
Universal Serial Bus (USB) Device Class Definition for Physical Interface Devices (PID) 9/8/99 Version 1.0 Please send comments via electronic mail to: [email protected] 1997, 1998, 1999 USB Implementers
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
QuickSpecs. NVIDIA Quadro K5200 8GB Graphics INTRODUCTION. NVIDIA Quadro K5200 8GB Graphics. Technical Specifications
J3G90AA INTRODUCTION The NVIDIA Quadro K5200 gives you amazing application performance and capability, making it faster and easier to accelerate 3D models, render complex scenes, and simulate large datasets.
CORBA Programming with TAOX11. The C++11 CORBA Implementation
CORBA Programming with TAOX11 The C++11 CORBA Implementation TAOX11: the CORBA Implementation by Remedy IT TAOX11 simplifies development of CORBA based applications IDL to C++11 language mapping is easy
Computer Graphics. Computer graphics deals with all aspects of creating images with a computer
Computer Graphics Computer graphics deals with all aspects of creating images with a computer Hardware Software Applications Computer graphics is using computers to generate and display images based on
Rapid Android Development
Extracted from: Rapid Android Development Build Rich, Sensor-Based Applications with Processing This PDF file contains pages extracted from Rapid Android Development, published by the Pragmatic Bookshelf.
Press Briefing. GDC, March 2014. Neil Trevett Vice President Mobile Ecosystem, NVIDIA President Khronos. Copyright Khronos Group 2014 - Page 1
Copyright Khronos Group 2014 - Page 1 Press Briefing GDC, March 2014 Neil Trevett Vice President Mobile Ecosystem, NVIDIA President Khronos Copyright Khronos Group 2014 - Page 2 Lots of Khronos News at
QuickSpecs. NVIDIA Quadro K2200 4GB Graphics INTRODUCTION. NVIDIA Quadro K2200 4GB Graphics. Technical Specifications
J3G88AA INTRODUCTION The NVIDIA Quadro K2200 delivers outstanding professional 3D application performance in a sub-75 Watt graphics design. Ultra-fast 4GB of GDDR5 GPU memory enables you to create large,
Intel 810 and 815 Chipset Family Dynamic Video Memory Technology
Intel 810 and 815 Chipset Family Dynamic Video Technology Revision 3.0 March 2002 March 2002 1 Information in this document is provided in connection with Intel products. No license, express or implied,
OpenGL 4.4 API Reference Card Page 1
OpenGL 4.4 API Reference Card Page 1 OpenGL is the only cross-platform graphics API that enables developers of software for PC, workstation, and supercomputing hardware to create highperformance, visually-compelling
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
3D Application and Game Development With OpenGL
3D Application and Game Development With OpenGL java.sun.com/javaone/sf Daniel Petersen Kenneth Russell Sun Microsystems, Inc. 1 Presentation Goal Show how to build leading-edge 3D applications and games
Awards News. GDDR5 memory provides twice the bandwidth per pin of GDDR3 memory, delivering more speed and higher bandwidth.
SAPPHIRE FleX HD 6870 1GB GDDE5 SAPPHIRE HD 6870 FleX can support three DVI monitors in Eyefinity mode and deliver a true SLS (Single Large Surface) work area without the need for costly active adapters.
Introduction to graphics and LCD technologies. NXP Product Line Microcontrollers Business Line Standard ICs
Introduction to graphics and LCD technologies NXP Product Line Microcontrollers Business Line Standard ICs Agenda Passive and active LCD technologies How LCDs work, STN and TFT differences How data is
NVIDIA workstation 3D graphics card upgrade options deliver productivity improvements and superior image quality
Hardware Announcement ZG09-0170, dated March 31, 2009 NVIDIA workstation 3D graphics card upgrade options deliver productivity improvements and superior image quality Table of contents 1 At a glance 3
Intel 865G Chipset Dynamic Video Memory Technology
Intel 865G Chipset Dynamic Video Memory Technology White Paper February 2004 Document Number: 253144-002 INFOMATION IN THIS DOCUMENT IS POVIDED IN CONNECTION WITH INTEL PODUCTS. NO LICENSE, EXPESS O IMPLIED,
Deferred Shading & Screen Space Effects
Deferred Shading & Screen Space Effects State of the Art Rendering Techniques used in the 3D Games Industry Sebastian Lehmann 11. Februar 2014 FREESTYLE PROJECT GRAPHICS PROGRAMMING LAB CHAIR OF COMPUTER
Learning Modern 3D Graphics Programming. Jason L. McKesson
Learning Modern 3D Graphics Programming Jason L. McKesson Learning Modern 3D Graphics Programming Jason L. McKesson Copyright 2012 Jason L. McKesson Table of Contents About this Book... iv Why Read This
VA (Video Acceleration) API. Jonathan Bian 2009 Linux Plumbers Conference
VA (Video Acceleration) API Jonathan Bian 2009 Linux Plumbers Conference Motivation for creating a new API Lack of a video decode acceleration API for Unixlike OS that fully exposes fixed function video
RADEON 9700 SERIES. User s Guide. Copyright 2002, ATI Technologies Inc. All rights reserved.
RADEON 9700 SERIES User s Guide P/N 137-40361-30 Copyright 2002, ATI Technologies Inc. All rights reserved. ATI and all ATI product and product feature names are trademarks and/or registered trademarks
Enabling OpenCL Acceleration of Web Applications
Enabling OpenCL Acceleration of Web Applications Tasneem Brutch Samsung Electronics Khronos WebCL Working Group Chair LinuxCon Sept. 17, 2013, New Orleans, LA Outline WebCL tutorial, demos and coding examples
Java (12 Weeks) Introduction to Java Programming Language
Java (12 Weeks) Topic Lecture No. Introduction to Java Programming Language 1 An Introduction to Java o Java as a Programming Platform, The Java "White Paper" Buzzwords, Java and the Internet, A Short
Filtered Views for Microsoft Dynamics CRM
Filtered Views for Microsoft Dynamics CRM Version 4.2.13, March 5, 2010 Copyright 2009-2010 Stunnware GmbH - 1 of 32 - Contents Overview... 3 How it works... 4 Setup... 5 Contents of the download package...
Advanced Graphics and Animations for ios Apps
Tools #WWDC14 Advanced Graphics and Animations for ios Apps Session 419 Axel Wefers ios Software Engineer Michael Ingrassia ios Software Engineer 2014 Apple Inc. All rights reserved. Redistribution or
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
QuickSpecs. NVIDIA Quadro K1200 4GB Graphics INTRODUCTION PERFORMANCE AND FEATURES. Overview
Overview L4D16AA INTRODUCTION The NVIDIA Quadro K1200 delivers outstanding professional 3D application performance in a low profile plug-in card form factor. This card is dedicated for small form factor
Release Notes. Please refer to the Intel RealSense 3D Camera Software License.rtf for license terms and conditions.
Release Notes Intel RealSense Depth Camera Manager (DCM) 1.4 HF3 This release notes covers Release 1.4 HF3 of Intel RealSense Depth Camera Manager F200 These are for use with Intel RealSense F200 Camera.
BCC Multi Stripe Wipe
BCC Multi Stripe Wipe The BCC Multi Stripe Wipe is a similar to a Horizontal or Vertical Blind wipe. It offers extensive controls to randomize the stripes parameters. The following example shows a Multi
Several tips on how to choose a suitable computer
Several tips on how to choose a suitable computer This document provides more specific information on how to choose a computer that will be suitable for scanning and postprocessing of your data with Artec
C++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
Input and Interaction
Input and Interaction 1 Objectives Introduce basic input devices Physical Devices Logical Devices Input Modes Event-driven input Introduce double buffering for smooth animations Programming event input
iz3d Stereo Driver Description (DirectX Realization)
iz3d Stereo Driver Description (DirectX Realization) iz3d Driver v 1.08 April 15, 2008 1. Main Functionality 2. System Requirements 3. Installation 4. Driver Features 5. Special Points 6. Future Development
How To Teach Computer Graphics
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/
Using Photorealistic RenderMan for High-Quality Direct Volume Rendering
Using Photorealistic RenderMan for High-Quality Direct Volume Rendering Cyrus Jam [email protected] Mike Bailey [email protected] San Diego Supercomputer Center University of California San Diego Abstract With
ntier Verde: Simply Affordable File Storage No previous storage experience required
ntier Verde: Simply Affordable File Storage No previous storage experience required April 2014 1 Table of Contents Abstract... 3 The Need for Simplicity... 3 Installation... 3 Professional Services...
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
