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

Similar documents
Real-Time Programmable Shading

PixelFlow. Marc Olano SGI

The Pixel-Planes Family of Graphics Architectures

A Shading Language on Graphics Hardware: The PixelFlow Shading System

Shading Languages. Ari Silvennoinen Apri 12, 2004

Chapter 1 Introduction. Marc Olano

Procedural Primitives in a High Performance, Hardware Accelerated, Z-Buffer Renderer

Overview. Hierarchy. Level of detail hierarchy Texture maps Procedural shading and texturing Texture synthesis and noise.

Programmable GPUS. Last Time? Reading for Today. Homework 4. Planar Shadows Projective Texture Shadows Shadow Maps Shadow Volumes

Texture. Texture Maps

Texture. Detail Representation

Standard Graphics Pipeline

frame buffer depth buffer stencil buffer

Chapter 1. Introduction Marc Olano

A Real-Time Procedural Shading System for Programmable Graphics Hardware

Multiple Importance Sampling

Reducing Latency on PixelFlow

Shading Languages. Seminar Computer Graphics. Markus Kummerer

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

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

Complex Multipass Shading On Programmable Graphics Hardware

Programmable Shaders. December 25, RenderMan & Its Shading Language

SGI OpenGL Shader. Marc Olano SGI

Bump Mapping Which one of these two image has a better visual effect?

Texture-Mapping Tricks. How Bad Does it Look? We've Seen this Sort of Thing Before. Sampling Texture Maps

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

Performance OpenGL Programming (for whatever reason)

Comparing Reyes and OpenGL on a Stream Architecture

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

Scheduling the Graphics Pipeline on a GPU

CSE528 Computer Graphics: Theory, Algorithms, and Applications

Hardware Shading: State-of-the-Art and Future Challenges

Shadows. COMP 575/770 Spring 2013

CG Surfaces: Materials, Shading, and Texturing

Fast HDR Image-Based Lighting Using Summed-Area Tables

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

The PixelFlow Texture and Image Subsystem. Steven Molnar. Department of Computer Science University of North Carolina Chapel Hill, NC

CS 4620 Program 3: Pipeline

REYES REYES REYES. Goals of REYES. REYES Design Principles

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Architectural Walkthroughs Using Portal Textures

Enhancing Traditional Rasterization Graphics with Ray Tracing. October 2015

Texture Mapping II. Light maps Environment Maps Projective Textures Bump Maps Displacement Maps Solid Textures Mipmaps Shadows 1. 7.

Zeyang Li Carnegie Mellon University

Shaders. Slide credit to Prof. Zwicker

Real-Time Procedural Textures

Einführung in Visual Computing

Automatic Shader Level of Detail

CS348B: Image Synthesis

Graphics and Interaction Rendering pipeline & object modelling

Lecture 10: Shading Languages. Kayvon Fatahalian CMU : Graphics and Imaging Architectures (Fall 2011)

Ray Casting on Programmable Graphics Hardware. Martin Kraus PURPL group, Purdue University

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

Texture Mapping. Images from 3D Creative Magazine

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

16 - Other Topics. The Stencil Buffer. Erosion. Fragment Discarding. Multi-Texturing + +

Shading Languages for Graphics Hardware

Applications of Explicit Early-Z Z Culling. Jason Mitchell ATI Research

Parallel Architectures and Algorithms for Real-Time Synthesis CV) M of High Quality Images using Deferred Shading

Z 3 : An Economical Hardware Technique for High-Quality Antialiasing and Order-Independent Transparency

Other Rendering Techniques CSE 872 Fall Intro You have seen Scanline converter (+z-buffer) Painter s algorithm Radiosity CSE 872 Fall

Real-Time Graphics Architecture. Kurt Akeley Pat Hanrahan. Ray Tracing.

Intro to Ray-Tracing & Ray-Surface Acceleration

GeForce4. John Montrym Henry Moreton

CT5510: Computer Graphics. Texture Mapping

Introduction to 3D Graphics

DEFERRED RENDERING STEFAN MÜLLER ARISONA, ETH ZURICH SMA/

COMP 4801 Final Year Project. Ray Tracing for Computer Graphics. Final Project Report FYP Runjing Liu. Advised by. Dr. L.Y.

+ = To Do. Texture Mapping. Adding Visual Detail. Parameterization. Option: Varieties of projections. Computer Graphics. geometry

A Hardware F-Buffer Implementation

+ = To Do. Adding Visual Detail. Texture Mapping. Parameterization. Option: Varieties of projections. Foundations of Computer Graphics (Fall 2012)

Lecture 10: Part 1: Discussion of SIMT Abstraction Part 2: Introduction to Shading

A Framework for Analyzing Real- Time Advanced Shading Techniques

Monday Morning. Graphics Hardware

MSAA- Based Coarse Shading

4 SURFACE SHADING. Surface shading is the most heavily explored procedural graphics technique. There are several reasons for this.

CS427 Multicore Architecture and Parallel Computing

UNC High-Performance Rendering Hardware

Interactive Summed-Area Table Generation for Glossy Environmental Reflections

CHAPTER 1 Graphics Systems and Models 3

v. T u. Textures. Perlin, SIGGRAPH85. Werner Purgathofer

Interactive Ray Tracing: Higher Memory Coherence

Texture mapping. Computer Graphics CSE 167 Lecture 9

Computer Graphics. - Texturing Methods -

Graphics Shaders. Theory and Practice. Second Edition. Mike Bailey. Steve Cunningham. CRC Press. Taylor&FnincIs Croup tootutor London New York

Enhancing Traditional Rasterization Graphics with Ray Tracing. March 2015

3D Programming. 3D Programming Concepts. Outline. 3D Concepts. 3D Concepts -- Coordinate Systems. 3D Concepts Displaying 3D Models

Deferred Rendering Due: Wednesday November 15 at 10pm

CS-184: Computer Graphics. Administrative

History of computer graphics

Shaders CSCI 4239/5239 Advanced Computer Graphics Spring 2014

Working with the BCC Brick Generator

Interactive Multi-Pass Programmable Shading

Computer Graphics. Lecture 14 Bump-mapping, Global Illumination (1)

Genetic Programming for Shader Simplification (UVA TR CS ) Pitchaya Sitthi-amorn, Nick Modly, Jason Lawrence, Westley Weimer

CS 354R: Computer Game Technology

More Texture Mapping. Texture Mapping 1/46

A Trip Down The (2011) Rasterization Pipeline

CS195V Week 9. GPU Architecture and Other Shading Languages

Shaders CSCI 4229/5229 Computer Graphics Fall 2017

Transcription:

Real-Time Programmable Shading Real-Time Programmable Shading (http://www.cs.unc.edu/~olano/papers/rtshading/) (http://www.cs.unc.edu/~olano/papers/rtshading/) Anselmo Lastra, Steve Molnar, Anselmo Lastra, Steve Molnar, Marc Olano, Yulan Wang Marc Olano, Yulan Wang University of North Carolina at Chapel Hill University of North Carolina at Chapel Hill {lastra,molnar,olano,wangy}@cs.unc.edu {lastra,molnar,olano,wangy}@cs.unc.edu Introduction Organization of programmable shading shading architecture Programmable what? Surface shader Simple functions Run at each pixel/sample Compute surface shading, lighting, displacement maps, atmospheric effects,... Whitted 82, Cook 84, Perlin 85, Hanrahan 90 Rhoades 92 For one sample Inputs: Intrinsic color, normal, texture coordinates, width, length, bumpiness, swirliness,... Outputs: Color, (opacity) 1

Resource requirements Programmability Programmability Programmable processors at sample level High level language (i.e. RenderMan) al power Hanrahan 90, Upstill 90 Resource requirements Memory Programmability al power Table memory Local memory Shader Local Variables carpet 24 marble 26 stippled 33 stone 23 Resource requirements Parallelism Programmability al power Parallelism Deferred shading Uniform/varying Fixed point/floating point Pixel-Planes 5 (Fuchs 89) 2 50 Graphics processors (i860) 1 20 Renderers (custom) 16k Pixel processors / renderer (custom) Reality Engine (Akeley 93) 8 12 Geometry engines (i860xp) 5 20 Fragment generators (custom) 80 320 Image engines (custom) 2

Resource requirements Deferred shading Programmability al power Parallelism Deferred shading Uniform/varying Fixed point/floating point Keep shading parameters at each pixel Shade after visibility is determined Pros: Doesn t shade hidden pixels Shading independant of geometric complexity! Better utilization on SIMD Cons: Can t affect visibility (No transparency, no displacement maps!) Resource requirements Uniform/varying Programmability al power Parallelism Deferred shading Uniform/varying Fixed point/floating point Uniform = constant across pixels/samples Wood grain, marble vein frequency,... Varying = different in each pixel/sample Normal, texture coordinates,... Don t compute uniform values at every pixel compute once and broadcast Resource requirements Fixed point/floating point Programmability al power Parallelism Deferred shading Uniform/varying Fixed point/floating point Pixel processors Many processors Simple instruction set Floating point acceleration is unlikely Fixed point When required precision is known More efficient in time and memory 3

node Node description Timings System Geometry network HP PA-RISC HP PA-RISC 128 x 64 SIMD array Table Memory Optional video card Composition network Memory Node description Timings System 16MB table memory 256 bytes local memory 128 bytes local memory/communication Timings (µs) Timings (µs) float fixed 4 byte 4 byte 2 byte + 3.94µs 0.13 0.07 * 2.53 2.00 0.50 / 7.04 6.40 1.60 sqrt 6.98 3.33 1.22 8 4 0 sqrt / * + 2 byte fixed 4 byte fixed 4 byte float 4

system Node description Timings System Show video Shading functions Shading functions Pins Crown, label, scuffs, dirt, Phong Alley Wood, reflection map Ball Phong Light Shadow map 5

Time: 7 ms - shadow map Use of multiple processors 33 ms Time: 7 ms - reflection map Use of multiple processors 33 ms Time: 15.7 ms - final image Use of multiple processors 33 ms 6

Shading: 2µs - crown Shading: 15µs - label Shading: 39µs - scuffs & dirt 7

Shading: 15µs - wood Shading: 28 µs - light/shadows Shading: 12µs - Phong (pins) 8

Shading: 27µs - reflection Shading: 12µs - Phong (ball) Time for table lookups About 23ns per pixel Worst case Bowling pin (4 lookups) in all pixels» Label image» Scuff bump map» Dirt image» Shadow map Total 760µs per region 9

10

11

12

Future work Acknowledgements RenderMan-like shading compiler Allow programming other places Convince commercial vendors that they can and should do programmable shading too Lawrence Kesteloot, Fredrik Fatemi UNC Group Tony Apodaca, Pixar Hewlett-Packard ARPA ISTO Order No. A410 NSF Grant No. MIP-9306208 13