seminar ii rendering architectures · for its own segment of image. • load imbalance problem in...

35
Seminar II Rendering Architectures Radek Cirmirakis Jaume Mateu 24 th of October 2007

Upload: others

Post on 31-May-2020

2 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Seminar IIRendering Architectures

Radek CirmirakisJaume Mateu24th of October 2007

Page 2: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Contents

• Consumer graphic cards• The rendering pipeline

– geometric transformation– Rasterization

• Graphics subsystems• Parallelization of rendering pipeline• Parallel and cluster architecture• Questions?

Page 3: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Contents

• Consumer graphic cards• The rendering pipeline

– geometric transformation– Rasterization

• Graphics subsystems• Parallelization of rendering pipeline• Parallel and cluster architecture• Questions?

Page 4: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Overview of the capabilities of consumer cards

11.9 Gigapixel/s

14.7 Gigapixel/s

Peak pixel fill rate (theoretical)

Photo

Radeon HD 2900 XT (ATI)

GeForce 8800 Ultra (Nvidia)Graphical Card

Page 5: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Contents

• Consumer graphic cards• The rendering pipeline

– geometric transformation– Rasterization

• Graphics subsystems• Parallelization of rendering pipeline• Parallel and cluster architecture• Questions?

Page 6: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

The graphic pipeline • The Graphic Pipeline

mechanism transforms 3D Computer Graphics stored as data in a computer into pixels values in one or more screens. It is divided into two stages.

Page 7: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Contents

• Consumer graphic cards• The rendering pipeline

– geometric transformation– Rasterization

• Graphics subsystems• Parallelization of rendering pipeline• Parallel and cluster architecture• Questions?

Page 8: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

The rendering pipeline

• Geometric transformationTransforms 3D maps (triangles) to the 2D coordinate system

• RasterizationTransforms triangles into pixel values on the screen

Page 9: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Geometric transformation

• Modellingtransformation positions primitives with respect to each other. The viewing transformation orients the resulting set of primitives to the user viewpoint

COPView Window (showing pixels)

Page 10: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Geometric transformation

• This stage evaluates the colour of the vertices given the direction of light, the vertex position, and the surface-normal vector and material characteristics of an object’s surface

Page 11: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Geometric transformation

• This transformation projects objects onto the screen.

Page 12: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Projection transform

• Orthographic projection:Keeps the original size of 3D objects and hence is useful for architectural and computer-aided design

• Perspective projection:Creates more realistic images by making distant objects appear smaller

Page 13: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Geometric transformation

• Removes the objects that are outside the viewable area

Page 14: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Geometric transformation

• Convert homogeneous coordinates to Cartesian coordinates

Page 15: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Geometric transformation

• This step performs the final scaling and translation to map the vertices from the projected coordinate system to the actual viewport on the computer screen

Page 16: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Resterization

• Convert triangles after geometric transformations into set of pixels with assigned attributes

Page 17: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Resterization

• Pixel processing – apply texture elements to pixels

Page 18: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Resterization

• Pixel processing – investigate pixel visibility (remove “covered” pixels)

Page 19: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Resterization

• Pixel processing – colour of old and new pixels is mixed using α value

Page 20: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Contents

• Consumer graphic cards• The rendering pipeline

– geometric transformation– Rasterization

• Graphics subsystems• Parallelization of rendering pipeline• Parallel and cluster architecture• Questions?

Page 21: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

PCI-Express graphics subsystem

Page 22: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

PCI slot • The Peripheral

Component Interconnect, or PCI Standard (in practice almost always shortened to PCI), specifies a computer bus for attaching peripheral devices to a computer motherboard.

Page 23: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

PCI slot

• 33.33 MHz clock with synchronous transfers• peak transfer rate of 133 MB per second for 32-

bit bus width (33.33 MHz × 32 bits ÷ 8 bits/byte = 133 MB/s)

• peak transfer rate of 266 MB/s for 64-bit bus width * 32-bit or 64-bit bus width

• 32-bit address space (4 gigabytes)• 32-bit I/O port space (now deprecated)• 256-byte configuration space• 5-volt signaling * reflected-wave switching

Page 24: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

AGP slot• It's main advantage over PCI is that

provides a dedicated pathway between the slot and the processor

Page 25: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

PCI - Express

• It's better than AGP because is full duplex instead of half duplex

• 4GB/s per direction

Page 26: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Speed up GPU efficiency

• Many pipelines of graphical tasks• Many GPUs located in many computers

working together as one machine• Multiple computers, PC-custers

Page 27: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Contents

• Consumer graphic cards• The rendering pipeline

– geometric transformation– Rasterization

• Graphics subsystems• Parallelization of rendering pipeline• Parallel and cluster architecture• Questions?

Page 28: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Parallel architecture overview

• Multiple GPUs– Low latency bus– Renders on a close-proximity– Are used more frequently in consumers PC

NVIDA GeForce 8800ATI Radeon 2900 XT

Page 29: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Parallelism

• Design a single component and replicate it to increase performance

• Create pipelining (tasks overlapping)• Connects components giving opportunity to work

parallel.• Reduce the total polygon rendering time.

• There are same tasks that cannot be paralyzed

Page 30: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Parallel rendering

• Alternate frame rendering

• Sort-first• Sort-middle• Sort-last

Page 31: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Sort-first• Each processor is assigned to a

portion of screen to render• Each node performs geometry

transformation and rasterizationfor its own segment of image.

• Load imbalance problem in transformation and resterizationstage

• Low network usage

Page 32: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Sort-middle• Each processor is assigned to a

portion of screen to render• Geometry transformation is

performed by master node• Resterization by slave nodes • Less Load imbalance problem

in transformation and resterization stage

Page 33: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Sort-last• Arbitrary division of the scene• Each node executes full

rendering pipeline on its scene section

• No Load imbalance problems• High-bandwidth network

required

Page 34: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each

Contents

• Consumer graphic cards• The rendering pipeline

– geometric transformation– Rasterization

• Graphics subsystems• Parallelization of rendering pipeline• Parallel and cluster architecture• Questions?

Page 35: Seminar II Rendering Architectures · for its own segment of image. • Load imbalance problem in transformation and resterization stage • Low network usage. Sort-middle • Each