Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray 02-15-2002.

Slides:



Advertisements
Similar presentations
COMPUTER GRAPHICS SOFTWARE.
Advertisements

COMPUTER GRAPHICS CS 482 – FALL 2014 NOVEMBER 10, 2014 GRAPHICS HARDWARE GRAPHICS PROCESSING UNITS PARALLELISM.
CS 352: Computer Graphics Chapter 7: The Rendering Pipeline.
Graphics Pipeline.
RealityEngine Graphics Kurt Akeley Silicon Graphics Computer Systems.
3D Graphics Rendering and Terrain Modeling
CAP4730: Computational Structures in Computer Graphics Visible Surface Determination.
CHAPTER 12 Height Maps, Hidden Surface Removal, Clipping and Level of Detail Algorithms © 2008 Cengage Learning EMEA.
Computer Graphics Visible Surface Determination. Goal of Visible Surface Determination To draw only the surfaces (triangles) that are visible, given a.
Rasterization and Ray Tracing in Real-Time Applications (Games) Andrew Graff.
HCI 530 : Seminar (HCI) Damian Schofield.
CS 4731: Computer Graphics Lecture 18: Hidden Surface Removal Emmanuel Agu.
CGDD 4003 THE MASSIVE FIELD OF COMPUTER GRAPHICS.
IN4151 Introduction 3D graphics 1 Introduction 3D Computer Graphics part 1 Projective display Viewing pipeline Graphics hardware Image-based rendering.
© David Kirk/NVIDIA and Wen-mei W. Hwu, ECE408, University of Illinois, Urbana-Champaign 1 Programming Massively Parallel Processors Chapter.
IN4151 Introduction 3D graphics 1 Introduction to 3D computer graphics part 2 Viewing pipeline Multi-processor implementation GPU architecture GPU algorithms.
Introduction to OpenGL. What is OpenGL OpenGL is a low-level software interface to graphics hardware No commands for performing windowing tasks or obtaining.
1 Angel: Interactive Computer Graphics 4E © Addison-Wesley 2005 Models and Architectures Ed Angel Professor of Computer Science, Electrical and Computer.
Part I: Basics of Computer Graphics Rendering Polygonal Objects (Read Chapter 1 of Advanced Animation and Rendering Techniques) Chapter
Introduction to 3D Graphics John E. Laird. Basic Issues u Given a internal model of a 3D world, with textures and light sources how do you project it.
GPU Graphics Processing Unit. Graphics Pipeline Scene Transformations Lighting & Shading ViewingTransformations Rasterization GPUs evolved as hardware.
Hidden Surface Removal
Under the Hood: 3D Pipeline. Motherboard & Chipset PCI Express x16.
REAL-TIME VOLUME GRAPHICS Christof Rezk Salama Computer Graphics and Multimedia Group, University of Siegen, Germany Eurographics 2006 Real-Time Volume.
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.
Under the Hood: 3D Pipeline. Motherboard & Chipset PCI Express x16.
Technology and Historical Overview. Introduction to 3d Computer Graphics  3D computer graphics is the science, study, and method of projecting a mathematical.
Graphics on Key by Eyal Sarfati and Eran Gilat Supervised by Prof. Shmuel Wimer, Amnon Stanislavsky and Mike Sumszyk 1.
CSE 381 – Advanced Game Programming Basic 3D Graphics
Computer Graphics An Introduction. What’s this course all about? 06/10/2015 Lecture 1 2 We will cover… Graphics programming and algorithms Graphics data.
MIT EECS 6.837, Durand and Cutler Graphics Pipeline: Projective Transformations.
CS 450: COMPUTER GRAPHICS REVIEW: INTRODUCTION TO COMPUTER GRAPHICS – PART 2 SPRING 2015 DR. MICHAEL J. REALE.
Week 2 - Friday.  What did we talk about last time?  Graphics rendering pipeline  Geometry Stage.
Graphics Systems and OpenGL. Business of Generating Images Images are made up of pixels.
CSC 461: Lecture 3 1 CSC461 Lecture 3: Models and Architectures  Objectives –Learn the basic design of a graphics system –Introduce pipeline architecture.
1 Introduction to Computer Graphics with WebGL Ed Angel Professor Emeritus of Computer Science Founding Director, Arts, Research, Technology and Science.
1Computer Graphics Lecture 4 - Models and Architectures John Shearer Culture Lab – space 2
1 The Rendering Pipeline. CS788 Topic of HCI 2 Outline  Introduction  The Graphics Rendering Pipeline  Three functional stages  Example  Bottleneck.
COMPUTER GRAPHICS CSCI 375. What do I need to know?  Familiarity with  Trigonometry  Analytic geometry  Linear algebra  Data structures  OOP.
Shadow Mapping Chun-Fa Chang National Taiwan Normal University.
Computer Graphics Chapter 6 Andreas Savva. 2 Interactive Graphics Graphics provides one of the most natural means of communicating with a computer. Interactive.
Texture Mapping CAP4730: Computational Structures in Computer Graphics.
- Laboratoire d'InfoRmatique en Image et Systèmes d'information
Advanced Computer Graphics Spring 2014 K. H. Ko School of Mechatronics Gwangju Institute of Science and Technology.
Review on Graphics Basics. Outline Polygon rendering pipeline Affine transformations Projective transformations Lighting and shading From vertices to.
COMPUTER GRAPHICS CS 482 – FALL 2015 SEPTEMBER 29, 2015 RENDERING RASTERIZATION RAY CASTING PROGRAMMABLE SHADERS.
Lecture 13: Raster Graphics and Scan Conversion
Computer Graphics Inf4/MSc 1 Computer Graphics Lecture 5 Hidden Surface Removal and Rasterization Taku Komura.
2 3D Viewing Process  3D viewing process MC Model Space Model Transformation Model Transformation WC World Space Viewing Transformation Viewing Transformation.
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
1 E. Angel and D. Shreiner: Interactive Computer Graphics 6E © Addison-Wesley 2012 Models and Architectures 靜宜大學 資訊工程系 蔡奇偉 副教授 2012.
GPU Architecture and Its Application
COMPUTER GRAPHICS CHAPTER 38 CS 482 – Fall 2017 GRAPHICS HARDWARE
- Introduction - Graphics Pipeline
Week 2 - Friday CS361.
Graphics Processing Unit
Introduction to OpenGL
3D Graphics Rendering PPT By Ricardo Veguilla.
The Graphics Rendering Pipeline
CS451Real-time Rendering Pipeline
Real-time Computer Graphics Overview
Models and Architectures
Models and Architectures
Models and Architectures
Introduction to Computer Graphics with WebGL
Computer Graphics One of the central components of three-dimensional graphics has been a basic system that renders objects represented by a set of polygons.
Lecture 13 Clipping & Scan Conversion
Models and Architectures
Models and Architectures
RADEON™ 9700 Architecture and 3D Performance
Presentation transcript:

Computer Graphics Hardware Acceleration for Embedded Level Systems Brian Murray

Topics Why? Introduction to Computer Graphics –Object Representation –Object Rasterization Graphics Hardware –Goals –Problems –Architecture Embedded System Optimizations

Object Representation Goals –Display images to user –Be able to represent images in abstract form Solution –Use specialized algorithms that take primitives and convert them into “pixels”.

Primitive Transformations Geometric Transformation –Move Primitives/Polygons (Triangles) to correct positions in 3D space. –Project 3D points onto 2D points Lighting –Use lights to correctly color and shade the triangles Rasterization –Convert the resulting objects (triangles) into pixels

Rasterization - Interpolation Interpolation of Points –Use the coordinates at each point and find the points between. –Find the points between the points on the lines.

Rasterization – Lighting/Shading Phong Illumination –Position of Lights –Orientation of polygon –Position of viewer Gouraud Shading –Interpolate colors of at the points of the triangle. lights I=I a k a +  [I p (k d cos  +k s con n  )] n=0

Rasterization - Texturing Map the points of a Texture on the points of a Triangle. –Each triangle point has a screen coordinate (x,y) –Each triangle point has a texture coordinate (u,v) –Use interpolation to find the points between.

Rasterization – Depth Checking Z-Buffer –Stores Z values of points as it is rasterizing –Check against the Z- Buffer to find out if you are near or farther from the screen. –If closer, write to Z- Buffer and Frame- Buffer (screen) Frame Buffer Z Buffer

Graphics Hardware Goals –Implement the functionality of graphics processing in hardware. –Speed is usually the main factor –Can be very expensive

Graphics Hardware - Problems Problems –Many Many Memory Accesses –Large amounts of Floating point math –Must be efficiently pipelined and fast –Requires large amounts of memory, especially for multiple frame-buffers.

Graphics Hardware – General Architecture

Embedded System Concerns Space –Cores must take up minimal area Power –Power constraints are tight Speed –Must be fast enough to be useful Memory –Memory is limited Heat –Speed and power demands generate heat, to which many systems are not tolerant

Embedded Solutions Off load Geometric Transformations to CPU Disregard Post-Rasterizer Functions Use an asynchronous pipeline Shut off portions not in use or already done Try to make maximum usage of memory available Do as many functions as possible in fixed point Simplify architecture and make system scalable Eliminate extra precision to minimize hardware

Rasterization Solution - DDS Sort all vertices from top to bottom Determine the x/y “slope” of each edge Determine the x starting point (x=slope+ceil(y)-y) Add to x the slope at each y while moving down the screen to get beginning and ending points. Interpolate between those points Kugler, A.. “The Setup for Triangle Rasterization”, Proceedings of the 11th Eurographics Workshop on Graphics Hardware, Poitiers, France, August 1996, pp

Fixed Point Lighting Convert all vector math to Log(2) domain Use 16bit vectors Less than 1 percent color error opposed to floating point Chen, C-H; Lees, C-Y, “A cost effective lighting processor for 3D graphics application”, Image Processing, ICIP 99. Proceedings International Conference on, Volume: 2, 1999,pp2 792 –796.

Embedded Architecture1

Embedded Architecture2

Verification Procedures Verification –Simulate memory accesses for cache optimization –Simulate Architecture for flow and control verification –Simulate Rasterization with fixed and floating to show possible error rates –Create a hardware model and verify with FPGA

Future Work Enhance an Embedded processor for geometric transformations Scale the system with a parallel architecture (i.e. mini-frame buffers) Add modern features such as mip-mapping, per- pixel operations, and z-buffer compression (or pyramidal) Cache implementations for the system : new localities and enhanced memories