The Pixel-Planes Family of Graphics Architectures

Similar documents
Standard Graphics Pipeline

Anselmo Lastra, Steve Molnar, Marc Olano, Yulan Wang. Marc Olano, Yulan Wang University of North Carolina at Chapel Hill

CMSC 611: Advanced. Parallel Systems

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

CHAPTER 1 Graphics Systems and Models 3

X. GPU Programming. Jacobs University Visualization and Computer Graphics Lab : Advanced Graphics - Chapter X 1

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

2.11 Particle Systems

PixelFlow. Marc Olano SGI

Graphics Hardware. Instructor Stephen J. Guy

Comparing Reyes and OpenGL on a Stream Architecture

Cornell University CS 569: Interactive Computer Graphics. Introduction. Lecture 1. [John C. Stone, UIUC] NASA. University of Calgary

Parallelizing Graphics Pipeline Execution (+ Basics of Characterizing a Rendering Workload)

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

3D Graphics and OpenGl. First Steps

CS427 Multicore Architecture and Parallel Computing

Real-Time Graphics Architecture

PowerVR Hardware. Architecture Overview for Developers

Windowing System on a 3D Pipeline. February 2005

Computer Graphics (CS 543) Lecture 10: Soft Shadows (Maps and Volumes), Normal and Bump Mapping

Surface Graphics. 200 polys 1,000 polys 15,000 polys. an empty foot. - a mesh of spline patches:

Level of Details in Computer Rendering

Scheduling the Graphics Pipeline on a GPU

Direct Rendering of Trimmed NURBS Surfaces

5 PRIMITIVES AND INTERPOLATION

Interactive Computer Graphics A TOP-DOWN APPROACH WITH SHADER-BASED OPENGL

Module Contact: Dr Stephen Laycock, CMP Copyright of the University of East Anglia Version 1

CS 464 Review. Review of Computer Graphics for Final Exam

A Reconfigurable Architecture for Load-Balanced Rendering

Lecture 2. Shaders, GLSL and GPGPU

Vertex Shader Design I

Architectures. Michael Doggett Department of Computer Science Lund University 2009 Tomas Akenine-Möller and Michael Doggett 1

Models and Architectures

Case 1:17-cv SLR Document 1-3 Filed 01/23/17 Page 1 of 33 PageID #: 60 EXHIBIT C

CS4620/5620: Lecture 14 Pipeline

Deferred Rendering Due: Wednesday November 15 at 10pm

- Rasterization. Geometry. Scan Conversion. Rasterization

GUERRILLA DEVELOP CONFERENCE JULY 07 BRIGHTON

The Rasterization Pipeline

CS 4620 Program 3: Pipeline

Dave Shreiner, ARM March 2009

Shaders. Slide credit to Prof. Zwicker

3D Computer Games Technology and History. Markus Hadwiger VRVis Research Center

Evolution of GPUs Chris Seitz

CS230 : Computer Graphics Lecture 4. Tamar Shinar Computer Science & Engineering UC Riverside

Graphics Pipeline. CS535 Fall Daniel G. Aliaga Department of Computer Science Purdue University

Spring 2009 Prof. Hyesoon Kim

Lecture 13: Reyes Architecture and Implementation. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Graphics Hardware. Graphics Processing Unit (GPU) is a Subsidiary hardware. With massively multi-threaded many-core. Dedicated to 2D and 3D graphics

CS 130 Final. Fall 2015

GLSL Introduction. Fu-Chung Huang. Thanks for materials from many other people

Spring 2011 Prof. Hyesoon Kim

Parallel Rendering. Johns Hopkins Department of Computer Science Course : Rendering Techniques, Professor: Jonathan Cohen

Screen Space Ambient Occlusion TSBK03: Advanced Game Programming

Real-Time Programmable Shading

Could you make the XNA functions yourself?

End-Term Examination

The Application Stage. The Game Loop, Resource Management and Renderer Design

CS451Real-time Rendering Pipeline

Pipeline Operations. CS 4620 Lecture Steve Marschner. Cornell CS4620 Spring 2018 Lecture 11

Game Architecture. 2/19/16: Rasterization

Cg 2.0. Mark Kilgard

CS 130 Exam I. Fall 2015

The Graphics Pipeline

Hardware Accelerated Volume Visualization. Leonid I. Dimitrov & Milos Sramek GMI Austrian Academy of Sciences

CSE 690: GPGPU. Lecture 2: Understanding the Fabric - Intro to Graphics. Klaus Mueller Stony Brook University Computer Science Department

A Shading Language on Graphics Hardware: The PixelFlow Shading System

Real - Time Rendering. Graphics pipeline. Michal Červeňanský Juraj Starinský

VISUALIZE Workstation Graphics for Windows NT. By Ken Severson HP Workstation System Lab

Bringing AAA graphics to mobile platforms. Niklas Smedberg Senior Engine Programmer, Epic Games

Graphics and Interaction Rendering pipeline & object modelling

Pipeline Operations. CS 4620 Lecture 14

Real-Time Graphics Architecture

Coming to a Pixel Near You: Mobile 3D Graphics on the GoForce WMP. Chris Wynn NVIDIA Corporation

Computer Graphics and Visualization. Graphics Systems and Models

Introduction to Computer Graphics with WebGL

Last Time. Why are Shadows Important? Today. Graphics Pipeline. Clipping. Rasterization. Why are Shadows Important?

A Real-Time Procedural Shading System for Programmable Graphics Hardware

For each question, indicate whether the statement is true or false by circling T or F, respectively.

GLSL Introduction. Fu-Chung Huang. Thanks for materials from many other people

OpenGl Pipeline. triangles, lines, points, images. Per-vertex ops. Primitive assembly. Texturing. Rasterization. Per-fragment ops.

Appearance-Preserving Simplification

Tutorial on GPU Programming #2. Joong-Youn Lee Supercomputing Center, KISTI

Rendering Objects. Need to transform all geometry then

CS452/552; EE465/505. Clipping & Scan Conversion

Shading Languages for Graphics Hardware

A SIMD-efficient 14 Instruction Shader Program for High-Throughput Microtriangle Rasterization

Scanline Rendering 2 1/42

Accelerating Realism with the (NVIDIA Scene Graph)

For Intuition about Scene Lighting. Today. Limitations of Planar Shadows. Cast Shadows on Planar Surfaces. Shadow/View Duality.

Shading Languages. Ari Silvennoinen Apri 12, 2004

6.837 Introduction to Computer Graphics Assignment 5: OpenGL and Solid Textures Due Wednesday October 22, 2003 at 11:59pm

CHETTINAD COLLEGE OF ENGINEERING & TECHNOLOGY CS2401 COMPUTER GRAPHICS QUESTION BANK

Vulkan: Architecture positive How Vulkan maps to PowerVR GPUs Kevin sun Lead Developer Support Engineer, APAC PowerVR Graphics.

Rasterization Overview

INF3320 Computer Graphics and Discrete Geometry

From curves to surfaces. Parametric surfaces and solid modeling. Extrusions. Surfaces of revolution. So far have discussed spline curves in 2D

CS GPU and GPGPU Programming Lecture 7: Shading and Compute APIs 1. Markus Hadwiger, KAUST

CS 498 VR. Lecture 19-4/9/18. go.illinois.edu/vrlect19

Shaders (some slides taken from David M. course)

Transcription:

The Pixel-Planes Family of Graphics Architectures

Pixel-Planes Technology Processor Enhanced Memory processor and associated memory on same chip SIMD operation Each pixel has an associated processor Perform rasterization in parallel for each primitive Expression evaluation hardware Allows efficient evaluation of quadratic or linear expression for all processors

Rendering a Triangle with Pixel-Planes Disable pixel processors outside the triangle Disable pixels with Z closer than triangle Compute interpolated R,G,B for each pixel Compute interpolated Nx, Ny, Nz Compute interpolated U,V for each pixel Later: perform shading calculations for all pixels

Disabling pixels outside triangle set enable enable = edge1 enable = edge2 enable = edge2

Linear Expressions Each edge expressed as linear expression Ax + By + C Enable bit gets true or false based on sign of result at each pixel Depth test computes depth value at each pixel using LE and compares to current depth value Each color, normal, texture coordinate component also evaluated as LE

Pixel-Planes 5: A Sort Middle Graphics Architecture

Pixel-Planes 5 Design Criteria Performance Render over 1 M Phong-shaded triangles per second (eventually achieved over 2 M) Demonstrated in 1991 Generality No specialized hardware for triangles only Allow non-triangle-based applications Curved surfaces, volume rendering, constructive solid geometry, etc. Enable research in new algorithms for rendering, shading, etc.

Pixel-Planes 5 Renderer 128x128 SIMD array per renderer board 16,384 processors 20 renderer boards (approx.) ( in full system Over 300,000 processors! Memory 208 bits of local memory per processor 4,096 bits of off-chip backing store per processor

Pxpl5 Renderer Board

Overall System HIF

Screen Subdivision (Pxpl5)

Graphics Processors General purpose processors (Intel i860) Primitives assigned randomly For each primitive Transform Generate renderer commands Binitize Send bins to appropriate renderers after complete database traversal

Renderers Assigned to one screen region at a time Perform commands from each GP for that region Copy resulting colors to backing store eventually copied from Renderer to Frame Buffer Begin working on next assigned region

Dynamic Renderer Allocation

Deferred Shading Store parameter values for each pixel while a region is being rasterized After all primitives rasterized,, perform lighting/shading Shading performed once for entire region independent of number of primitives in region

Programming Levels PPHIGS Dominant graphics API at the time (before OpenGL) Rendering Control Knows about synchronizing GPs ROS (ring operating system) Allows basic communications between GPs

Types of Applications Standard triangle/sphere graphics using PPHIGS API some procedural shading Volume Rendering CSG Julia set

PixelFlow: A Sort-Last Parallel Graphics Machine

Two-Rack PixelFlow Machine

Design Criteria Tens of millions of triangles/sec throughput Linearly scalable performance Programmable shading

PixelFlow Architecture

Image Composition

PixelFlow Board Boards have same hardware components 2 PA-RISC processors transform, generate SIMD commands Shared processor memory 128x64 SIMD Array (8-bit ALU) perform pixel operations Texture Memory (64 MB per board) not cost effective? Board function chosen by application Renderer Shader Frame buffer (requires daughter card)

Board Diagram

Actual PixelFlow Board

Renderer Board Operates on subset of geometry PA-RISC Stores display lists of static geometry Transforms geometry Generates/binitizes SIMD commands EMC (Enhanced Memory Chip) Enable primitives pixels including setting Z Set shader id Load/interpolate parameters colors, normals, texcoords other arbitrary shader parameters

Shader Board Operates on one particular screen region PA-RISC Generate/cache shading commands for EMCs Loop through shader functions Pre-light, light, post-light EMCs Perform shading computation Image texture lookup Lighting Programmable shading operations

Image Composition One region at a time on renderer boards Composite each region, sending to one shader board Shading boards send results to frame buffer Composition network 100 Gbit/sec bandwidth Bidirectional signaling hardware

Compositor Operating Modes

Programmable Shading Procedural shading High-level language for programming Modified RenderMan language Shading compiler generates C-code for storing EMC commands on PA-RISC 256 bytes of local memory per pixel (show Olano SIGGRAPH 98 video)

API Modified OpenGL Added support for programmable shading Added frame synchronization commands Restrictions apply

OpenGL on PixelFlow Application runs on host machine Global state changes broadcast to all boards lights, matrices, etc. Primitives (glbegin/glend ( glend blocks) distributed round-robin among renderer boards Textures loaded/replicated across all shader boards

OpenGL Extensions Load/instance shader function Set current shader glmaterial extended to arbitrary shader parameters global attribute state stores arbitrary parameters as well as built-ins (color, coord, etc.) named shader parameters may be shared among different shader functions Frame synchronization commands

OpenGL Restrictions No global state changes within glbegin/glend glend changes within glbegin/glend glend sent to a single Renderer,, not broadcast Cannot read back frame buffer during frame Frame buffer not complete until composited and shaded at end of frame Primitive ordering not currently guaranteed bad for geometry-based decals (e.g. runway stripes)

Commercialization Pixel-Flow originally developed in collaboration with Division and later Hewlett Packard Visualize PxFl product dropped by HP just before production PC card product developed by PixelFusion Products due to ship 2nd quarter 2000