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

Similar documents
Lecture 2. Shaders, GLSL and GPGPU

Introduction to Shaders.

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

Real-Time Rendering (Echtzeitgraphik) Michael Wimmer

Shaders. Slide credit to Prof. Zwicker

Real - Time Rendering. Pipeline optimization. Michal Červeňanský Juraj Starinský

CS GPU and GPGPU Programming Lecture 2: Introduction; GPU Architecture 1. Markus Hadwiger, KAUST

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

Spring 2009 Prof. Hyesoon Kim

Rasterization Overview

Programming Graphics Hardware

A Trip Down The (2011) Rasterization Pipeline

Graphics Hardware. Instructor Stephen J. Guy

Evolution of GPUs Chris Seitz

Spring 2011 Prof. Hyesoon Kim

Cg 2.0. Mark Kilgard

CS427 Multicore Architecture and Parallel Computing

Sung-Eui Yoon ( 윤성의 )

CS451Real-time Rendering Pipeline

COMP371 COMPUTER GRAPHICS

Programmable Graphics Hardware

CSE 591: GPU Programming. Introduction. Entertainment Graphics: Virtual Realism for the Masses. Computer games need to have: Klaus Mueller

Rendering Objects. Need to transform all geometry then

Graphics Hardware, Graphics APIs, and Computation on GPUs. Mark Segal

The Rasterization Pipeline

Programmable GPUs. Real Time Graphics 11/13/2013. Nalu 2004 (NVIDIA Corporation) GeForce 6. Virtua Fighter 1995 (SEGA Corporation) NV1

Graphics Hardware. Computer Graphics COMP 770 (236) Spring Instructor: Brandon Lloyd 2/26/07 1

Real-time Graphics 9. GPGPU

Direct Rendering of Trimmed NURBS Surfaces

Graphics Processing Unit Architecture (GPU Arch)

Programming shaders & GPUs Christian Miller CS Fall 2011

NVIDIA Parallel Nsight. Jeff Kiel

CS 354R: Computer Game Technology

CS770/870 Fall 2015 Advanced GLSL

The Ultimate Developers Toolkit. Jonathan Zarge Dan Ginsburg

Ciril Bohak. - INTRODUCTION TO WEBGL

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

printf Debugging Examples

Introduction to OpenGL

Real-time Graphics 9. GPGPU

Could you make the XNA functions yourself?

Scanline Rendering 2 1/42

Siggraph Agenda. Usability & Productivity. FX Composer 2.5. Usability & Productivity 9/12/2008 9:16 AM

The Graphics Pipeline

GPGPU. Peter Laurens 1st-year PhD Student, NSC

Shaders (some slides taken from David M. course)

Models and Architectures

Today. Rendering - III. Outline. Texturing: The 10,000m View. Texture Coordinates. Specifying Texture Coordinates in GL

GPU-Based Volume Rendering of. Unstructured Grids. João L. D. Comba. Fábio F. Bernardon UFRGS

1.2.3 The Graphics Hardware Pipeline

Next-Generation Graphics on Larrabee. Tim Foley Intel Corp

Getting fancy with texture mapping (Part 2) CS559 Spring Apr 2017

OPENGL RENDERING PIPELINE

OpenGL Status - November 2013 G-Truc Creation

Shaders CSCI 4239/5239 Advanced Computer Graphics Spring 2014

Grafica Computazionale: Lezione 30. Grafica Computazionale. Hiding complexity... ;) Introduction to OpenGL. lezione30 Introduction to OpenGL

2.11 Particle Systems

Dave Shreiner, ARM March 2009

Beginning Direct3D Game Programming: 1. The History of Direct3D Graphics

Copyright Khronos Group, Page Graphic Remedy. All Rights Reserved

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

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

Today s Agenda. Basic design of a graphics system. Introduction to OpenGL

DirectX10 Effects and Performance. Bryan Dudash

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

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

Antonio R. Miele Marco D. Santambrogio

SHADER PROGRAMMING. Based on Jian Huang s lecture on Shader Programming

Graphics Architectures and OpenCL. Michael Doggett Department of Computer Science Lund university

CSE4030 Introduction to Computer Graphics

Graphics Performance Optimisation. John Spitzer Director of European Developer Technology

Order Independent Transparency with Dual Depth Peeling. Louis Bavoil, Kevin Myers

PROFESSIONAL. WebGL Programming DEVELOPING 3D GRAPHICS FOR THE WEB. Andreas Anyuru WILEY. John Wiley & Sons, Ltd.

Graphics and Imaging Architectures

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

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

CS770/870 Spring 2017 Open GL Shader Language GLSL

CS770/870 Spring 2017 Open GL Shader Language GLSL

3D Graphics Hardware

Supplement to Lecture 22

Pipeline Operations. CS 4620 Lecture 14

Squeezing Performance out of your Game with ATI Developer Performance Tools and Optimization Techniques

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

CS130 : Computer Graphics. Tamar Shinar Computer Science & Engineering UC Riverside

Programming Guide. Aaftab Munshi Dan Ginsburg Dave Shreiner. TT r^addison-wesley

OpenGL refresher. Advanced Computer Graphics 2012

Practical Performance Analysis Koji Ashida NVIDIA Developer Technology Group

Lecture 13: OpenGL Shading Language (GLSL)

Challenges for GPU Architecture. Michael Doggett Graphics Architecture Group April 2, 2008

2: Introducing image synthesis. Some orientation how did we get here? Graphics system architecture Overview of OpenGL / GLU / GLUT

CS4620/5620: Lecture 14 Pipeline

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

CS450/550. Pipeline Architecture. Adapted From: Angel and Shreiner: Interactive Computer Graphics6E Addison-Wesley 2012

12.2 Programmable Graphics Hardware

NVIDIA FX Composer. Developer Presentation June 2004

Developer Tools. Robert Strzodka. caesar research center Bonn, Germany

C P S C 314 S H A D E R S, O P E N G L, & J S RENDERING PIPELINE. Mikhail Bessmeltsev

CS4621/5621 Fall Computer Graphics Practicum Intro to OpenGL/GLSL

frame buffer depth buffer stencil buffer

General Purpose Computation (CAD/CAM/CAE) on the GPU (a.k.a. Topics in Manufacturing)

Transcription:

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

Overview History of Graphics HW Rendering pipeline Shaders Debugging 2

History of Graphics HW First generation Second generation Third generation Fourth generation Fifth generation 3

First generation Vertex - transform, clip, project Pixel - color interpolation of lines Frame buffer - overwrite When - prior to 1987 4

Second generation Vertex - lighting calculations Pixel - depth interpolation, triangles Frame buffer - depth buffer, color blending Dates -1987-1992 5

Third generation Vertex - texture coordinate transformation Pixel - texture coordinate interpolation - texture evaluation and filtering Dates - 1992-2000 6

Fourth generation Programmable shading Vertex, Pixel, Geometry Multi GPU SLI, Crossfire Full floating point GPGPU 7

Fifth generation Multi cores Merging CPU and GPU IBM Cell (8+1cores) AMD Fusion (CPU+GPU) Intel Larabee canceled Programming Tesselation shader DX11 (Compute shader) CUDA, AMD Brook OpenCL 8

Unified architecture (Non)Unified architecture Sw input parameters, functionality Hw stream processors 9

Overview History of Graphics HW Rendering pipeline Application stage Geometry stage Rasterization stage Fragment tests HW pipeline Unified architecture Shaders Debugging 10

Rendering pipeline Application user settings, scene description Geometry transformations, clipping, projection Rasterization texturing, computations Fragments tests, blending 11

Application stage Scene description User full control Scene complexity LOD, clipping Scene dynamics (physics) Handling mouse, keyboard 12

Geometry stage Per-primitive operations Model & view transform Lightning & shading Projection Clipping Screen mapping 13

Geometry stage (2) Model & view transform Model space World space 14

Geometry stage (3) Model & view transform World space Camera space 15

Geometry stage (4) Lighting, projection, clipping Image space Image space 16

Geometry stage (5) Mapping 17

Rasterization stage Per-fragment operations Attribute interpolation Color mapping (Multi)texturing Computations 18

Fragment tests Ownership Scissor test Alpha test Stencil test Depth test Alpha blending Logical operations 19

DirectX10 pipeline 20

DirectX11 pipeline 21

Geometry shader Calculations on a primitive Access to neighbour primitives Generation new primitives (triangles) Limited output (1024 32-bit values) Applications Extrusion operations (fur rendering) Shadow volume generation Render to cubemap 22

Tesselation 23

Tesselation 2 24

Overview History of Graphics HW Rendering pipeline Shaders Introduction Languages (Cg, glsl) Debugging 25

Introduction Types Vertex, Fragment, Geometry Parallel processing Input textures, matrices, variables uniform, varying Output vertex (attributes), color (depth), primitives 26

Languages Assembler Cg C for graphics Nvidia HLSL (DirectX) glsl OpenGL shading language OpenGL standard ATI, Nvidia 27

Cg Nvidia extensions Various profiles Compiler, runtime libraries Examples Cg Toolkit 28

Cg vertex 29

Cg fragment 30

glsl glsl v 1.30 Based on C Quick reference http://www.opengl.org/sdk/libs/openscenegraph/glsl_quickref.pdf Example http://www.lighthouse3d.com/opengl/glsl/index.php?intro Basic example ( demonstration ) 31

Error handling OpenGL errors Cg, glsl errors More errors 32

Debugging Error handling Software tools gdebugger Fx Composer ( + Shader Debugger ) glsldevil Own techniques hard but working ;) 33

Debuggers Demonstration (glsldevil) 34

References Real-time rendering, Akenine-Möller, Haines http://www.cg.tuwien.ac.at/courses/realtime/ www.nvidia.com http://www.caligari.com/ - TrueSpace http://graphicssoft.about.com http://en.wikipedia.org/ www.gamedev.net http://informatik.uibk.ac.at/teaching/ss2008/seminar/gpu.pdf http://www.nvidia.com/content/nvision2008/tech_presentations/game_developer_track/nvision08direct3d_11_overview.pdf 35

Questions? 36