TRANSFORM FEEDBACK ALEX ECKER AND AARON EMMERT. WHAT IS TRANSFORM FEEDBACK? OpenGl says: Transform Feedback is the process of altering the rendering pipeline.

Slides:



Advertisements
Similar presentations
POST-PROCESSING SET09115 Intro Graphics Programming.
Advertisements

Cs /11/2003 Page 1 Special Image Effects Particle Systems Fog Lens Flares Shadows Programmable Shaders.
CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
Status – Week 257 Victor Moya. Summary GPU interface. GPU interface. GPU state. GPU state. API/Driver State. API/Driver State. Driver/CPU Proxy. Driver/CPU.
APARAPI Java™ platform’s ‘Write Once Run Anywhere’ ® now includes the GPU Gary Frost AMD PMTS Java Runtime Team.
Results / Compared to Relief Mapping It does not scale linearly with screen coverage as does the other techniques. However, for larger displacements, it.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Introduction to Geometry Shaders Patrick Cozzi Analytical Graphics, Inc.
Introduction to Shader Programming
Particle Systems GPU Graphics. Sample Particle System Fire and SmokeWater.
Status – Week 243 Victor Moya. Summary Current status. Current status. Tests. Tests. XBox documentation. XBox documentation. Post Vertex Shader geometry.
The programmable pipeline Lecture 10 Slide Courtesy to Dr. Suresh Venkatasubramanian.
3D Rendering & Algorithms__ Sean Reichel & Chester Gregg a.k.a. “The boring stuff happening behind the video games you really want to play right now.”
Computer Science – Game DesignUC Santa Cruz Adapted from Jim Whitehead’s slides Shaders Feb 18, 2011 Creative Commons Attribution 3.0 (Except copyrighted.
GEOMETRY SHADER. Breakdown  Basics  Review – graphics pipeline and shaders  What can the geometry shader do?  Working with the geometry shader  GLSL.
Computer Graphics: Programming, Problem Solving, and Visual Communication Steve Cunningham California State University Stanislaus and Grinnell College.
4.7. I NSTANCING Introduction to geometry instancing.
Geometric Objects and Transformations. Coordinate systems rial.html.
Chris Kerkhoff Matthew Sullivan 10/16/2009.  Shaders are simple programs that describe the traits of either a vertex or a pixel.  Shaders replace a.
Interactive Time-Dependent Tone Mapping Using Programmable Graphics Hardware Nolan GoodnightGreg HumphreysCliff WoolleyRui Wang University of Virginia.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
OpenGL ES Performance (and Quality) on the GoForce5500 Handheld GPU Lars M. Bishop, NVIDIA Developer Technologies.
The programmable pipeline Lecture 3.
CS 480/680 Intro Dr. Frederick C Harris, Jr. Fall 2014.
Computer Graphics The Rendering Pipeline - Review CO2409 Computer Graphics Week 15.
Shadow Mapping Chun-Fa Chang National Taiwan Normal University.
Tone Mapping on GPUs Cliff Woolley University of Virginia Slides courtesy Nolan Goodnight.
A Closer Look At GPUs By Kayvon Fatahalian and Mike Houston Presented by Richard Stocker.
CS662 Computer Graphics Game Technologies Jim X. Chen, Ph.D. Computer Science Department George Mason University.
CHEP 2013, Amsterdam Reading ROOT files in a browser ROOT I/O IN JAVASCRIPT B. Bellenot, CERN, PH-SFT B. Linev, GSI, CS-EE.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
CSE 381 – Advanced Game Programming GLSL. Rendering Revisited.
Dynamic Gaze-Contingent Rendering Complexity Scaling By Luke Paireepinart.
OpenGL-ES 3.0 And Beyond Boston Photo credit :Johnson Cameraface OpenGL Basics.
Havok FX Physics on NVIDIA GPUs. Copyright © NVIDIA Corporation 2004 What is Effects Physics? Physics-based effects on a massive scale 10,000s of objects.
Computer Graphics 3 Lecture 6: Other Hardware-Based Extensions Benjamin Mora 1 University of Wales Swansea Dr. Benjamin Mora.
ROOT I/O in JavaScript Browsing ROOT Files on the Web For more information see: For any questions please use following address:
Maths & Technologies for Games Graphics Optimisation - Batching CO3303 Week 5.
Fateme Hajikarami Spring  What is GPGPU ? ◦ General-Purpose computing on a Graphics Processing Unit ◦ Using graphic hardware for non-graphic computations.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Lecture.
What are shaders? In the field of computer graphics, a shader is a computer program that runs on the graphics processing unit(GPU) and is used to do shading.
Mesh Skinning Sébastien Dominé. Agenda Introduction to Mesh Skinning 2 matrix skinning 4 matrix skinning with lighting Complex skinning for character.
UW EXTENSION CERTIFICATE PROGRAM IN GAME DEVELOPMENT 2 ND QUARTER: ADVANCED GRAPHICS The GPU.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 GPU.
GPU Computing for GIS James Mower Department of Geography and Planning University at Albany.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
Computer Science – Game DesignUC Santa Cruz Tile Engine.
COMP 175 | COMPUTER GRAPHICS Remco Chang1/XX13 – GLSL Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 12, 2016.
Our Graphics Environment Landscape Rendering. Hardware  CPU  Modern CPUs are multicore processors  User programs can run at the same time as other.
How to use a Pixel Shader CMT3317. Pixel shaders There is NO requirement to use a pixel shader for the coursework though you can if you want to You should.
Lecture Rendering pipeline, shaders and effects 1Elias Holmlid.
Computer Graphics Graphics Hardware
GPU Architecture and Its Application
Graphics on GPU © David Kirk/NVIDIA and Wen-mei W. Hwu,
Deferred Lighting.
Introduction to OpenGL
Chapter 6 GPU, Shaders, and Shading Languages
TerraForm3D Plasma Works 3D Engine & USGS Terrain Modeler
NVIDIA Fermi Architecture
Chapter VI OpenGL ES and Shader
Introduction to geometry instancing
Computer Graphics Graphics Hardware
Computer Graphics Introduction to Shaders
CIS 441/541: Introduction to Computer Graphics Lecture 15: shaders
03 | Creating, Texturing and Moving Objects
Introduction to OpenGL
Emerging Technologies for Games Review & Revision Strategy
Opengl implementation
CIS 6930: Chip Multiprocessor: GPU Architecture and Programming
Presentation transcript:

TRANSFORM FEEDBACK ALEX ECKER AND AARON EMMERT

WHAT IS TRANSFORM FEEDBACK? OpenGl says: Transform Feedback is the process of altering the rendering pipeline so that primitives processed by a Vertex Shader and optionally a Geometry Shader will be written to buffer objects. This allows one to preserve the post-transform rendering state of an object and resubmit this data multiple times. ELI5: Transform feedback lets us do computations in the shaders and record results without needing the CPU and GPU to do work with each other. It allows all of the work to be done on the GPU and allows previously accessed attributes easily be read again.

WHEN WAS TRANSFORM FEEDBACK ADDED? DirectX10 introduced a feature called Stream Output - Essentially does the same thing as Transform Feedback OpenGL followed soon after with Transform Feedback in version 3.0

WHAT DOES TRANSFORM FEEDBACK DO? First, lets look at what we have to do when we DONT use Transform Feedback. To update a Vertex Buffer Objects attributes, the process is: 1.OpenGL copies contents of VBO from the GPU memory to the CPU memory 2.By updating the attributes we have to run the same formula on different items 3.This takes time and bandwidth 1. If each VBO is 64 bytes and we run at 60fps we have to copy back and forth 640KB 60 times a second

WHAT DOES TRANSFORM FEEDBACK DO? (CONTINUED) Transform Feedback solves this problem of continuously having to do the same computations and copying them back and forth by allowing us to do the calculations on the GPU in the shaders 1.By using TF, we connect to a special type of buffer right after the shaders and send our transformations to it 2.This allows us to not use the CPU and not use any application involvement

TRANSFORM FEEDBACK DIAGRAM

WHEN SHOULD YOU USE TRANSFORM FEEDBACK? You should use TF when you are doing complex formulas on each VBO in your application When you want to offload some CPU and memory read times to the GPU to speed up your application It is great for particle systems because of potentially thousands of VBOs

TRANSFORM FEEDBACK EXAMPLES Good example, uses transform feedback to render a particle smoke system with fire spreading Example shows another possible usage for TF, it passes vertex information with Transform feedback which allows for seamless facial expressions Another good example that shows how good performance can be by using TF. It controls all of the particles in this on the GPU.

TRANSFORM FEEDBACK TUTORIALS A java based tutorial that we used for the in class lab exercise. It is a very simple version of implementing Transform Feedback and is very helpful to learn the basics of how it works. Very informative, pretty long to follow. Goes over all of the basics of Transform feedback and has code samples to back it up.