Mobile Graphics Patrick Cozzi University of Pennsylvania CIS 565 - Spring 2012.

Slides:



Advertisements
Similar presentations
Deferred Shading Optimizations
Advertisements

CS123 | INTRODUCTION TO COMPUTER GRAPHICS Andries van Dam © 1/16 Deferred Lighting Deferred Lighting – 11/18/2014.
COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Understanding the graphics pipeline Lecture 2 Original Slides by: Suresh Venkatasubramanian Updates by Joseph Kider.
Graphics Pipeline.
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.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
Computer Graphics(Fall 2003) COMS 4160, Lecture 7: OpenGL 3 Ravi Ramamoorthi Many slides courtesy Greg Humphreys.
OPENGL Return of the Survival Guide. Buffers (0,0) OpenGL holds the buffers in a coordinate system such that the origin is the lower left corner.
CS 4363/6353 BASIC RENDERING. THE GRAPHICS PIPELINE OVERVIEW Vertex Processing Coordinate transformations Compute color for each vertex Clipping and Primitive.
Computer Graphic Creator: Mohsen Asghari Session 2 Fall 2014.
Graphics Hardware CMSC 435/634. Transform Shade Clip Project Rasterize Texture Z-buffer Interpolate Vertex Fragment Triangle A Graphics Pipeline.
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
Computer Graphics Visible Surface Determination. Goal of Visible Surface Determination To draw only the surfaces (triangles) that are visible, given a.
Deferred Shading Patrick Cozzi University of Pennsylvania CIS Fall 2014.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
Introduction to Geometry Shaders Patrick Cozzi Analytical Graphics, Inc.
Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray
GLSL Applications: 1 of 2 Joseph Kider Source: Patrick Cozzi – Spring 2011 University of Pennsylvania CIS Fall 2011.
GLSL Applications: 2 of 2 Patrick Cozzi University of Pennsylvania CIS Spring 2011.
3D Graphics Processor Architecture Victor Moya. PhD Project Research on architecture improvements for future Graphic Processor Units (GPUs). Research.
Status – Week 277 Victor Moya.
Z-Buffer Optimizations Patrick Cozzi Analytical Graphics, Inc.
GPU Simulator Victor Moya. Summary Rendering pipeline for 3D graphics. Rendering pipeline for 3D graphics. Graphic Processors. Graphic Processors. GPU.
Z-Buffer Optimizations Patrick Cozzi Analytical Graphics, Inc.
Evolution of the Programmable Graphics Pipeline Patrick Cozzi University of Pennsylvania CIS Spring 2011.
Status – Week 260 Victor Moya. Summary shSim. shSim. GPU design. GPU design. Future Work. Future Work. Rumors and News. Rumors and News. Imagine. Imagine.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
University of Texas at Austin CS 378 – Game Technology Don Fussell CS 378: Computer Game Technology Beyond Meshes Spring 2012.
WebGL Patrick Cozzi University of Pennsylvania CIS Spring 2012.
GLSL Sandbox Hackathon Patrick Cozzi University of Pennsylvania CIS Fall 2012.
© Copyright Khronos Group, Page 1 Harnessing the Horsepower of OpenGL ES Hardware Acceleration Rob Simpson, Bitboys Oy.
Basic Graphics Concepts Day One CSCI 440. Terminology object - the thing being modeled image - view of object(s) on the screen frame buffer - memory that.
2 Many picture books and graphic novels with dynamic and interesting styles For commercial reasons, publishers create derivative digital products including.
The Graphics Rendering Pipeline 3D SCENE Collection of 3D primitives IMAGE Array of pixels Primitives: Basic geometric structures (points, lines, triangles,
Advanced Computer Graphics Depth & Stencil Buffers / Rendering to Textures CO2409 Computer Graphics Week 19.
1 Graphics CSCI 343, Fall 2015 Lecture 4 More on WebGL.
Introduction to OpenGL  OpenGL is a graphics API  Software library  Layer between programmer and graphics hardware (and software)  OpenGL can fit in.
1 3D API OPENGL ES v1.0 Owned by Silicon Graphics (SGL) Control was then transferred to Khronos Group Introduction.
OpenGL Architecture Display List Polynomial Evaluator Per Vertex Operations & Primitive Assembly Rasterization Per Fragment Operations Frame Buffer Texture.
09/16/03CS679 - Fall Copyright Univ. of Wisconsin Last Time Environment mapping Light mapping Project Goals for Stage 1.
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
CSE 381 – Advanced Game Programming GLSL. Rendering Revisited.
OpenGL-ES 3.0 And Beyond Boston Photo credit :Johnson Cameraface OpenGL Basics.
COMPUTER GRAPHICS. Can refer to the number of pixels in a bitmapped image Can refer to the number of pixels in a bitmapped image The amount of space it.
Fateme Hajikarami Spring  What is GPGPU ? ◦ General-Purpose computing on a Graphics Processing Unit ◦ Using graphic hardware for non-graphic computations.
1 Perception and VR MONT 104S, Fall 2008 Lecture 20 Computer Graphics and VR.
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.
Background image by chromosphere.deviantart.com Fella in following slides by devart.deviantart.com DM2336 Programming hardware shaders Dioselin Gonzalez.
The Graphics Pipeline Revisited Real Time Rendering Instructor: David Luebke.
Part 4: Many-Light Rendering on Mobile Hardware 40 min Markus Billeter VMML University of Zürich.
SPONSORED BY SA2014.SIGGRAPH.ORG Efficient Real-Time Shading with Many Lights 2014 Many Light Rendering on Mobile Hardware Part 4/4 Presenter: Markus Billeter.
GLSL Review Monday, Nov OpenGL pipeline Command Stream Vertex Processing Geometry processing Rasterization Fragment processing Fragment Ops/Blending.
COMP 175 | COMPUTER GRAPHICS Remco Chang1/XX13 – GLSL Lecture 13: OpenGL Shading Language (GLSL) COMP 175: Computer Graphics April 12, 2016.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
Graphics Pipeline Bringing it all together. Implementation The goal of computer graphics is to take the data out of computer memory and put it up on the.
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
Patrick Cozzi University of Pennsylvania CIS Fall 2013
Graphics on GPU © David Kirk/NVIDIA and Wen-mei W. Hwu,
Graphics Processing Unit
Deferred Lighting.
Introduction to Computer Graphics with WebGL
Introduction to Computer Graphics with WebGL
Unity’s Standard Shader Physically Based Shading
Chapter X Output Merger.
RADEON™ 9700 Architecture and 3D Performance
Frame Buffer Applications
Frame Buffers Fall 2018 CS480/680.
OpenGL-Rendering Pipeline
Presentation transcript:

Mobile Graphics Patrick Cozzi University of Pennsylvania CIS Spring 2012

Announcements Homework 5  Due today  In-class quiz this Wednesday Monday, 04/23  No class Wednesday, 04/25  Project presentations, 9am-12pm, 307 Towne  Post code, paper, and video on blog beforehand  One-on-one demos to follow presentations

Agenda Tile-Based Rendering  Motivation  Implementation  Implications on optimizing our code

Memory Bandwidth For 32-bit color, 4 bytes per pixel are needed for display How many bytes were transferred?

Memory Bandwidth For 32-bit color, 4 bytes per pixel are needed for display How many bytes were transferred?  12 bytes? Read/write depth and stencil Write color

Memory Bandwidth For 32-bit color, 4 bytes per pixel are needed for display How many bytes were transferred?  12 bytes? Read/write depth and stencil Write color  What about: Textures Overdraw Blending Multisampling

Immediate Mode Rendering Image from Immediate Mode Rendering (IMR) specifies triangles to be drawn in a current state

Immediate Mode Rendering Image from IMRs can result in overdraw

Immediate Mode Rendering Image from Sort front to back to minimize overdraw

Immediate Mode Rendering Image from Depth pre-pass to minimize overdraw

Tile-Based Rendering Bandwidth uses a significant amount of power consumption Mobile graphics want to maximum battery life. How?  Minimize accessing the framebuffer in global memory

Tile-Based Rendering Image from Break framebuffer up into tiles, e.g., 16x16 pixels

Tile-Based Rendering Render one tile at a time using all primitives that overlap a tile Images from

Tile-Based Rendering A tile is stored on-chip in the tile buffer All depth/stencil/color access is on-chip After the tile is rendered, color is written to global memory How does this affect vertex processing?

Tile-Based Rendering Avoid transforming all vertices in the scene per-tile by storing  gl_Position and vertex shader varyings  Fragment shader and uniforms  Fixed function state, e.g., depth test, etc. in a spatial data structure call the frame data

Tile-Based Rendering Image from

What’s the Difference? Image from IMR Tile-Based

Framebuffer Clears glClear is cheap and clears frame data  Don’t skip it  Clear everything, e.g., all buffers, no scissor test, etc. Even better, use EXT_discard_framebuffer : const GLenum attachments[3] = { COLOR_EXT, DEPTH_EXT, STENCIL_EXT }; glDiscardFramebufferEXT(GL_FRAMEBUFFER, 3, attachments);

Tile-Based Deferred Rendering On PowerVR, only fragments that contribute to the scene are shaded: Called Tile-Based Deferred Rendering (TBDR) Image from

Tile-Based Deferred Rendering Image from How does sorting front-to-back and depth prepass affect TBDR?