SlideShare a Scribd company logo
RENDERING PART
TWO
THIS TIME, IT’S PERSONAL
Michael heron
INTRODUCTION
 In the previous lecture we talked about the
nature of light reflection in rendering.
 Complex and governed by physics
 Approximations only
 In this lecture we are going to talk about some of
the other things that are involved in the
rendering process.
 Rasterisation
 Hidden surface removal
RASTERISATION
 Rasterisation is the process of turning a rendered
3D model into a two dimensional pixelized image.
 Most usual technique for creating real-time 3D
images.
 Directly competes with other techniques such as ray
tracing
 Rasterisation is comparatively fast.
 But limited by the number of polygons to be drawn.
RASTERISATION
 Three processes for rasterisation:
 Determine which squares of the 2D display are
occupied by the polygon.
 Determine the depth of each square.
 More on this later
 Determine the colour of squares.
 Process can introduce complications.
 Adjacent polygons should fit together without gaps.
 Can be complicated by nature of resolution.
RASTERISATION
http://uk.gamespot.com/pages/unions/forums/show_msgs.php?
topic_id=25824342&union_id=7600
Graphical representation of
3D scene held ‘off screen’ in
the frame buffer before
being drawn.
It contains the colour and
intensity of each pixel to be
drawn on the screen.
When all polygons
rasterised, the buffer is
drawn to the screen.
HIDDEN SURFACE REMOVAL
 Because processing cost is dependent on
the number of polygons to be rendered,
useful to restrict the number of polygons
to draw.
Polygons are sometimes partially or
completely hidden by other polygons.
 Occluded
 Determined by rasterisation.
 A process by which we can reduce the
number of polygons we draw is important.
Handled in two separate ways
HIDDEN SURFACE REMOVAL
Object model
What the viewer would see
Entire polygons
hidden from view point
Some polygons closer
to viewer (overlapping)
HIDDEN SURFACE REMOVAL
 Surfaces that are completely occluded are simply
culled.
 They never get drawn.
 Partially occluded polygons get dealt with using a
Hidden Surface Removal algorithm.
 Most well known of these is the z-buffer algorithm.
HIDDEN SURFACE REMOVAL
1. 2.
Stage one deals
with culling
backface
polygons
Stage two deals
with partial
occlusion.
CULLING
 Culling done relative to viewing angle.
 If difference between the viewing angle and the
surface normal is greater than 90 degrees, the
surface is invisible.
 Also known as back-face culling
 Remove those triangles not facing the camera from
the rendering queue.
 Deals with complete occluded polugons.
CULLING
If the difference is greater than 90 degrees,
then we remove the polygon from the list
Of objects to be rendered.
AFTER CULLING
 Having removed the hidden polygons, we need to
decide upon overlapping polygons.
 All polygons drawn as separate entities. No
knowledge of relationship in the scene.
 Need an algorithm to decide on how partially
occluded polygons are to be drawn.
 Such as the z-buffer algorithm.
THE PAINTER’S ALGORITHM
 Deals with hidden visibility by drawing things
farthest to nearest.
 Like a painter on a canvas.
 Requires some pixels to be redrawn several
times.
 And has some problems with overlapping shapes.
 Compensation for this complicated and expensive.
 Splitting polygons.
THE PAINTER’S ALGORITHM
Z-BUFFERING
 For each pixel, we could sort each polygon
by depth.
Draw only the one nearest.
Sorting a costly process
 And done for each pixel to be rendered.
 Z-Buffering achieves the same effect
without sorting.
Dramatic performance improvement in terms
of CPU.
Quite costly in terms of memory
representation.
Many hardware architectures have dedicated
z-buffer chips.
Z-BUFFER
 The Z-Buffer is a 2D array that maps onto
the same dimensions as the image.
As we encounter polygons, we make a note of
their depth (z) value.
 We assume our viewport is on the positive
z-axis
And we are looking down that z-axis towards
the scene.
 Done during rasterisation.
We keep a track of the depth of each image we
are to draw.
We store the colour and the intensity as we do
this.
Z-BUFFER
 While doing the rasterisation, we can
compare the z value against our current
‘nearest’ shape.
If it’s farther away, we don’t render it.
 Skip it, move on to the next
If it’s closer than our previous closest, it
becomes the new closest match.
 It replaces the colour and intensity as it does so.
 The end result is that the frame buffer
contains only the information relating to
the nearest polygon for any pixel.
Z-BUFFER
PROCESS
 3D Scene leads to definition of
relationship of objects.
Scene gets broken down into polygons to
represent 3D shapes.
 Back-face culling used to eliminate
polygons that are invisible.
 Rasterisation goes over each non-culled
polygon to determine where it falls on the
viewing screen.
Colour and intensity of each pixel determined
Z-buffering used to ensure proper handling of
partial occlusion.
Z-BUFFERING AND TRANSPARENCY
 The Z-Buffer algorithm doesn’t work for
transparent polygons.
Alas!
 The z-buffer occludes things behind other
things.
With transparency, we should be able to see
the things we are in front of.
 A quick fix:
Draw opaque polygons first
Then draw translucent polygons
 Can be combined with alpha blending.
OTHER KINDS OF HSR
 Contribution culling
If objects are too small to contribute to a scene,
then we simply discard them.
 Viewport culling
If objects are outside our viewing projection,
we don’t process them.
 Other visibility algorithms exists
Binary tree partitioning
Warnock algorithm
Ray Casting
IMPORTANCE OF HSR
 Despite huge improvements in GPU
hardware, efficiency still important.
Hardware has gotten more powerful
Models have gotten more complex.
 A certain frame-rate is required in order
for ‘realistic’ motion to be experienced.
Trade-off between polygon count and frame-
rate.
 Easiest way to reduce polygon count
without compromising graphical quality.
SUMMARY
 Important to be able to cull hidden polygons and
pixels.
 Reduces rendering cost.
 Two related processes.
 Culling
 Visibility
 Z-Buffering one of the most common processes in
use today.

More Related Content

What's hot

Hidden Surfaces
Hidden SurfacesHidden Surfaces
Hidden Surfaces
HiteshJain007
 
Phong Shading over any Polygonal Surface
Phong Shading over any Polygonal Surface Phong Shading over any Polygonal Surface
Phong Shading over any Polygonal Surface
Bhuvnesh Pratap
 
Computer Graphics: Visible surface detection methods
Computer Graphics: Visible surface detection methodsComputer Graphics: Visible surface detection methods
Computer Graphics: Visible surface detection methods
Joseph Charles
 
Morphological image processing
Morphological image processingMorphological image processing
Morphological image processing
Vinayak Narayanan
 
Depth Buffer Method
Depth Buffer MethodDepth Buffer Method
Depth Buffer Method
Ummiya Mohammedi
 
Visible surface identification
Visible surface identificationVisible surface identification
Visible surface identification
Pooja Dixit
 
Illumination Model
Illumination ModelIllumination Model
Illumination Model
aishwaryabharadwaj7
 
3 d display-methods-in-computer-graphics(For DIU)
3 d display-methods-in-computer-graphics(For DIU)3 d display-methods-in-computer-graphics(For DIU)
3 d display-methods-in-computer-graphics(For DIU)
Rajon rdx
 
Hidden surfaces
Hidden surfacesHidden surfaces
Hidden surfacesMohd Arif
 
Visible surface determination
Visible  surface determinationVisible  surface determination
Visible surface determinationPatel Punit
 
CG OpenGL surface detection+illumination+rendering models-course 9
CG OpenGL surface detection+illumination+rendering models-course 9CG OpenGL surface detection+illumination+rendering models-course 9
CG OpenGL surface detection+illumination+rendering models-course 9
fungfung Chen
 
Visible surface detection in computer graphic
Visible surface detection in computer graphicVisible surface detection in computer graphic
Visible surface detection in computer graphicanku2266
 
Erosion and dilation
Erosion and dilationErosion and dilation
Erosion and dilation
Akhil .B
 
Hidden lines & surfaces
Hidden lines & surfacesHidden lines & surfaces
Hidden lines & surfaces
Ankur Kumar
 
Graphics a buffer
Graphics a bufferGraphics a buffer
Graphics a buffer
ajeela mushtaq
 
GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)
Michael Heron
 
Lighting and shading
Lighting and shadingLighting and shading
Lighting and shading
Sri Harsha Vemuri
 
Illumination models
Illumination modelsIllumination models
Illumination models
KABILESH RAMAR
 
A Method of Survey on Object-Oriented Shadow Detection & Removal for High Res...
A Method of Survey on Object-Oriented Shadow Detection & Removal for High Res...A Method of Survey on Object-Oriented Shadow Detection & Removal for High Res...
A Method of Survey on Object-Oriented Shadow Detection & Removal for High Res...
IJERA Editor
 

What's hot (20)

Hidden Surfaces
Hidden SurfacesHidden Surfaces
Hidden Surfaces
 
Phong Shading over any Polygonal Surface
Phong Shading over any Polygonal Surface Phong Shading over any Polygonal Surface
Phong Shading over any Polygonal Surface
 
Computer Graphics: Visible surface detection methods
Computer Graphics: Visible surface detection methodsComputer Graphics: Visible surface detection methods
Computer Graphics: Visible surface detection methods
 
Morphological image processing
Morphological image processingMorphological image processing
Morphological image processing
 
Depth Buffer Method
Depth Buffer MethodDepth Buffer Method
Depth Buffer Method
 
Visible surface identification
Visible surface identificationVisible surface identification
Visible surface identification
 
Illumination Model
Illumination ModelIllumination Model
Illumination Model
 
3 d display-methods-in-computer-graphics(For DIU)
3 d display-methods-in-computer-graphics(For DIU)3 d display-methods-in-computer-graphics(For DIU)
3 d display-methods-in-computer-graphics(For DIU)
 
Hidden surfaces
Hidden surfacesHidden surfaces
Hidden surfaces
 
Visible surface determination
Visible  surface determinationVisible  surface determination
Visible surface determination
 
CG OpenGL surface detection+illumination+rendering models-course 9
CG OpenGL surface detection+illumination+rendering models-course 9CG OpenGL surface detection+illumination+rendering models-course 9
CG OpenGL surface detection+illumination+rendering models-course 9
 
visible surface detection
visible surface detectionvisible surface detection
visible surface detection
 
Visible surface detection in computer graphic
Visible surface detection in computer graphicVisible surface detection in computer graphic
Visible surface detection in computer graphic
 
Erosion and dilation
Erosion and dilationErosion and dilation
Erosion and dilation
 
Hidden lines & surfaces
Hidden lines & surfacesHidden lines & surfaces
Hidden lines & surfaces
 
Graphics a buffer
Graphics a bufferGraphics a buffer
Graphics a buffer
 
GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)
 
Lighting and shading
Lighting and shadingLighting and shading
Lighting and shading
 
Illumination models
Illumination modelsIllumination models
Illumination models
 
A Method of Survey on Object-Oriented Shadow Detection & Removal for High Res...
A Method of Survey on Object-Oriented Shadow Detection & Removal for High Res...A Method of Survey on Object-Oriented Shadow Detection & Removal for High Res...
A Method of Survey on Object-Oriented Shadow Detection & Removal for High Res...
 

Similar to GRPHICS05 - Rendering (2)

Game Engine Overview
Game Engine OverviewGame Engine Overview
Game Engine OverviewSharad Mitra
 
Hill Stephen Rendering Tools Splinter Cell Conviction
Hill Stephen Rendering Tools Splinter Cell ConvictionHill Stephen Rendering Tools Splinter Cell Conviction
Hill Stephen Rendering Tools Splinter Cell Conviction
ozlael ozlael
 
Scanline rendering
Scanline renderingScanline rendering
Scanline rendering
VisCircle
 
3D Graphics
3D Graphics3D Graphics
3D GraphicsViTAly
 
Reyes
ReyesReyes
3 d graphics with opengl part 2
3 d graphics with opengl  part 23 d graphics with opengl  part 2
3 d graphics with opengl part 2
Sardar Alam
 
Introduction occlusion
Introduction occlusionIntroduction occlusion
Introduction occlusion
VisCircle
 
Shadow Mapping with Today's OpenGL Hardware
Shadow Mapping with Today's OpenGL HardwareShadow Mapping with Today's OpenGL Hardware
Shadow Mapping with Today's OpenGL Hardware
Mark Kilgard
 
Mixing Path Rendering and 3D
Mixing Path Rendering and 3DMixing Path Rendering and 3D
Mixing Path Rendering and 3D
Mark Kilgard
 
On constructing z dimensional Image By DIBR Synthesized Images
On constructing z dimensional Image By DIBR Synthesized ImagesOn constructing z dimensional Image By DIBR Synthesized Images
On constructing z dimensional Image By DIBR Synthesized Images
Jayakrishnan U
 
visual realism in geometric modeling
visual realism in geometric modelingvisual realism in geometric modeling
visual realism in geometric modeling
sabiha khathun
 
TASK 2
TASK 2TASK 2
TASK 2
10metzm
 
Technologies Used In Graphics Rendering
Technologies Used In Graphics RenderingTechnologies Used In Graphics Rendering
Technologies Used In Graphics Rendering
Bhupinder Singh
 
Unit 3 visual realism
Unit 3 visual realismUnit 3 visual realism
Unit 3 visual realism
Javith Saleem
 
visual realism Unit iii
 visual realism Unit iii visual realism Unit iii
visual realism Unit iii
Arun Prakash
 
Scratch a pixel - Reflection
Scratch a pixel - ReflectionScratch a pixel - Reflection
Scratch a pixel - Reflection
Yiwei Gong
 
Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]
Saajid Akram
 
3D Modeling Techniques : Types and Specific Applications
3D Modeling Techniques : Types and Specific Applications3D Modeling Techniques : Types and Specific Applications
3D Modeling Techniques : Types and Specific Applications
ThePro3DStudio
 
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
Mark Kilgard
 
Deferred shading
Deferred shadingDeferred shading
Deferred shadingFrank Chao
 

Similar to GRPHICS05 - Rendering (2) (20)

Game Engine Overview
Game Engine OverviewGame Engine Overview
Game Engine Overview
 
Hill Stephen Rendering Tools Splinter Cell Conviction
Hill Stephen Rendering Tools Splinter Cell ConvictionHill Stephen Rendering Tools Splinter Cell Conviction
Hill Stephen Rendering Tools Splinter Cell Conviction
 
Scanline rendering
Scanline renderingScanline rendering
Scanline rendering
 
3D Graphics
3D Graphics3D Graphics
3D Graphics
 
Reyes
ReyesReyes
Reyes
 
3 d graphics with opengl part 2
3 d graphics with opengl  part 23 d graphics with opengl  part 2
3 d graphics with opengl part 2
 
Introduction occlusion
Introduction occlusionIntroduction occlusion
Introduction occlusion
 
Shadow Mapping with Today's OpenGL Hardware
Shadow Mapping with Today's OpenGL HardwareShadow Mapping with Today's OpenGL Hardware
Shadow Mapping with Today's OpenGL Hardware
 
Mixing Path Rendering and 3D
Mixing Path Rendering and 3DMixing Path Rendering and 3D
Mixing Path Rendering and 3D
 
On constructing z dimensional Image By DIBR Synthesized Images
On constructing z dimensional Image By DIBR Synthesized ImagesOn constructing z dimensional Image By DIBR Synthesized Images
On constructing z dimensional Image By DIBR Synthesized Images
 
visual realism in geometric modeling
visual realism in geometric modelingvisual realism in geometric modeling
visual realism in geometric modeling
 
TASK 2
TASK 2TASK 2
TASK 2
 
Technologies Used In Graphics Rendering
Technologies Used In Graphics RenderingTechnologies Used In Graphics Rendering
Technologies Used In Graphics Rendering
 
Unit 3 visual realism
Unit 3 visual realismUnit 3 visual realism
Unit 3 visual realism
 
visual realism Unit iii
 visual realism Unit iii visual realism Unit iii
visual realism Unit iii
 
Scratch a pixel - Reflection
Scratch a pixel - ReflectionScratch a pixel - Reflection
Scratch a pixel - Reflection
 
Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]Class[4][19th jun] [three js-camera&light]
Class[4][19th jun] [three js-camera&light]
 
3D Modeling Techniques : Types and Specific Applications
3D Modeling Techniques : Types and Specific Applications3D Modeling Techniques : Types and Specific Applications
3D Modeling Techniques : Types and Specific Applications
 
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
A Practical and Robust Bump-mapping Technique for Today’s GPUs (slides)
 
Deferred shading
Deferred shadingDeferred shading
Deferred shading
 

More from Michael Heron

Meeple centred design - Board Game Accessibility
Meeple centred design - Board Game AccessibilityMeeple centred design - Board Game Accessibility
Meeple centred design - Board Game Accessibility
Michael Heron
 
Musings on misconduct
Musings on misconductMusings on misconduct
Musings on misconduct
Michael Heron
 
Accessibility Support with the ACCESS Framework
Accessibility Support with the ACCESS FrameworkAccessibility Support with the ACCESS Framework
Accessibility Support with the ACCESS Framework
Michael Heron
 
ACCESS: A Technical Framework for Adaptive Accessibility Support
ACCESS:  A Technical Framework for Adaptive Accessibility SupportACCESS:  A Technical Framework for Adaptive Accessibility Support
ACCESS: A Technical Framework for Adaptive Accessibility Support
Michael Heron
 
Authorship and Autership
Authorship and AutershipAuthorship and Autership
Authorship and Autership
Michael Heron
 
Text parser based interaction
Text parser based interactionText parser based interaction
Text parser based interaction
Michael Heron
 
SAD04 - Inheritance
SAD04 - InheritanceSAD04 - Inheritance
SAD04 - Inheritance
Michael Heron
 
GRPHICS08 - Raytracing and Radiosity
GRPHICS08 - Raytracing and RadiosityGRPHICS08 - Raytracing and Radiosity
GRPHICS08 - Raytracing and Radiosity
Michael Heron
 
GRPHICS07 - Textures
GRPHICS07 - TexturesGRPHICS07 - Textures
GRPHICS07 - Textures
Michael Heron
 
GRPHICS03 - Graphical Representation
GRPHICS03 - Graphical RepresentationGRPHICS03 - Graphical Representation
GRPHICS03 - Graphical Representation
Michael Heron
 
GRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D GraphicsGRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D Graphics
Michael Heron
 
GRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D GraphicsGRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D Graphics
Michael Heron
 
GRPHICS09 - Art Appreciation
GRPHICS09 - Art AppreciationGRPHICS09 - Art Appreciation
GRPHICS09 - Art Appreciation
Michael Heron
 
2CPP18 - Modifiers
2CPP18 - Modifiers2CPP18 - Modifiers
2CPP18 - Modifiers
Michael Heron
 
2CPP17 - File IO
2CPP17 - File IO2CPP17 - File IO
2CPP17 - File IO
Michael Heron
 
2CPP16 - STL
2CPP16 - STL2CPP16 - STL
2CPP16 - STL
Michael Heron
 
2CPP15 - Templates
2CPP15 - Templates2CPP15 - Templates
2CPP15 - Templates
Michael Heron
 
2CPP14 - Abstraction
2CPP14 - Abstraction2CPP14 - Abstraction
2CPP14 - Abstraction
Michael Heron
 
2CPP13 - Operator Overloading
2CPP13 - Operator Overloading2CPP13 - Operator Overloading
2CPP13 - Operator Overloading
Michael Heron
 
2CPP12 - Method Overriding
2CPP12 - Method Overriding2CPP12 - Method Overriding
2CPP12 - Method Overriding
Michael Heron
 

More from Michael Heron (20)

Meeple centred design - Board Game Accessibility
Meeple centred design - Board Game AccessibilityMeeple centred design - Board Game Accessibility
Meeple centred design - Board Game Accessibility
 
Musings on misconduct
Musings on misconductMusings on misconduct
Musings on misconduct
 
Accessibility Support with the ACCESS Framework
Accessibility Support with the ACCESS FrameworkAccessibility Support with the ACCESS Framework
Accessibility Support with the ACCESS Framework
 
ACCESS: A Technical Framework for Adaptive Accessibility Support
ACCESS:  A Technical Framework for Adaptive Accessibility SupportACCESS:  A Technical Framework for Adaptive Accessibility Support
ACCESS: A Technical Framework for Adaptive Accessibility Support
 
Authorship and Autership
Authorship and AutershipAuthorship and Autership
Authorship and Autership
 
Text parser based interaction
Text parser based interactionText parser based interaction
Text parser based interaction
 
SAD04 - Inheritance
SAD04 - InheritanceSAD04 - Inheritance
SAD04 - Inheritance
 
GRPHICS08 - Raytracing and Radiosity
GRPHICS08 - Raytracing and RadiosityGRPHICS08 - Raytracing and Radiosity
GRPHICS08 - Raytracing and Radiosity
 
GRPHICS07 - Textures
GRPHICS07 - TexturesGRPHICS07 - Textures
GRPHICS07 - Textures
 
GRPHICS03 - Graphical Representation
GRPHICS03 - Graphical RepresentationGRPHICS03 - Graphical Representation
GRPHICS03 - Graphical Representation
 
GRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D GraphicsGRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D Graphics
 
GRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D GraphicsGRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D Graphics
 
GRPHICS09 - Art Appreciation
GRPHICS09 - Art AppreciationGRPHICS09 - Art Appreciation
GRPHICS09 - Art Appreciation
 
2CPP18 - Modifiers
2CPP18 - Modifiers2CPP18 - Modifiers
2CPP18 - Modifiers
 
2CPP17 - File IO
2CPP17 - File IO2CPP17 - File IO
2CPP17 - File IO
 
2CPP16 - STL
2CPP16 - STL2CPP16 - STL
2CPP16 - STL
 
2CPP15 - Templates
2CPP15 - Templates2CPP15 - Templates
2CPP15 - Templates
 
2CPP14 - Abstraction
2CPP14 - Abstraction2CPP14 - Abstraction
2CPP14 - Abstraction
 
2CPP13 - Operator Overloading
2CPP13 - Operator Overloading2CPP13 - Operator Overloading
2CPP13 - Operator Overloading
 
2CPP12 - Method Overriding
2CPP12 - Method Overriding2CPP12 - Method Overriding
2CPP12 - Method Overriding
 

Recently uploaded

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
ControlCase
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
Guy Korland
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Inflectra
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Product School
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
Jemma Hussein Allen
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
Laura Byrne
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
Product School
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Product School
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
Cheryl Hung
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
Product School
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
UiPathCommunity
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
DianaGray10
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
KatiaHIMEUR1
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
RTTS
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
Ana-Maria Mihalceanu
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
Safe Software
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance
 

Recently uploaded (20)

FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdfFIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
FIDO Alliance Osaka Seminar: The WebAuthn API and Discoverable Credentials.pdf
 
PCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase TeamPCI PIN Basics Webinar from the Controlcase Team
PCI PIN Basics Webinar from the Controlcase Team
 
GraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge GraphGraphRAG is All You need? LLM & Knowledge Graph
GraphRAG is All You need? LLM & Knowledge Graph
 
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdfFIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
FIDO Alliance Osaka Seminar: Passkeys and the Road Ahead.pdf
 
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered QualitySoftware Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
Software Delivery At the Speed of AI: Inflectra Invests In AI-Powered Quality
 
Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...Mission to Decommission: Importance of Decommissioning Products to Increase E...
Mission to Decommission: Importance of Decommissioning Products to Increase E...
 
The Future of Platform Engineering
The Future of Platform EngineeringThe Future of Platform Engineering
The Future of Platform Engineering
 
The Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and SalesThe Art of the Pitch: WordPress Relationships and Sales
The Art of the Pitch: WordPress Relationships and Sales
 
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
From Siloed Products to Connected Ecosystem: Building a Sustainable and Scala...
 
Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...Designing Great Products: The Power of Design and Leadership by Chief Designe...
Designing Great Products: The Power of Design and Leadership by Chief Designe...
 
Key Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdfKey Trends Shaping the Future of Infrastructure.pdf
Key Trends Shaping the Future of Infrastructure.pdf
 
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdfFIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
FIDO Alliance Osaka Seminar: FIDO Security Aspects.pdf
 
How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...How world-class product teams are winning in the AI era by CEO and Founder, P...
How world-class product teams are winning in the AI era by CEO and Founder, P...
 
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
Dev Dives: Train smarter, not harder – active learning and UiPath LLMs for do...
 
UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3UiPath Test Automation using UiPath Test Suite series, part 3
UiPath Test Automation using UiPath Test Suite series, part 3
 
Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !Securing your Kubernetes cluster_ a step-by-step guide to success !
Securing your Kubernetes cluster_ a step-by-step guide to success !
 
JMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and GrafanaJMeter webinar - integration with InfluxDB and Grafana
JMeter webinar - integration with InfluxDB and Grafana
 
Monitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR EventsMonitoring Java Application Security with JDK Tools and JFR Events
Monitoring Java Application Security with JDK Tools and JFR Events
 
Essentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with ParametersEssentials of Automations: Optimizing FME Workflows with Parameters
Essentials of Automations: Optimizing FME Workflows with Parameters
 
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdfFIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
FIDO Alliance Osaka Seminar: Passkeys at Amazon.pdf
 

GRPHICS05 - Rendering (2)

  • 1. RENDERING PART TWO THIS TIME, IT’S PERSONAL Michael heron
  • 2. INTRODUCTION  In the previous lecture we talked about the nature of light reflection in rendering.  Complex and governed by physics  Approximations only  In this lecture we are going to talk about some of the other things that are involved in the rendering process.  Rasterisation  Hidden surface removal
  • 3. RASTERISATION  Rasterisation is the process of turning a rendered 3D model into a two dimensional pixelized image.  Most usual technique for creating real-time 3D images.  Directly competes with other techniques such as ray tracing  Rasterisation is comparatively fast.  But limited by the number of polygons to be drawn.
  • 4. RASTERISATION  Three processes for rasterisation:  Determine which squares of the 2D display are occupied by the polygon.  Determine the depth of each square.  More on this later  Determine the colour of squares.  Process can introduce complications.  Adjacent polygons should fit together without gaps.  Can be complicated by nature of resolution.
  • 5. RASTERISATION http://uk.gamespot.com/pages/unions/forums/show_msgs.php? topic_id=25824342&union_id=7600 Graphical representation of 3D scene held ‘off screen’ in the frame buffer before being drawn. It contains the colour and intensity of each pixel to be drawn on the screen. When all polygons rasterised, the buffer is drawn to the screen.
  • 6. HIDDEN SURFACE REMOVAL  Because processing cost is dependent on the number of polygons to be rendered, useful to restrict the number of polygons to draw. Polygons are sometimes partially or completely hidden by other polygons.  Occluded  Determined by rasterisation.  A process by which we can reduce the number of polygons we draw is important. Handled in two separate ways
  • 7. HIDDEN SURFACE REMOVAL Object model What the viewer would see Entire polygons hidden from view point Some polygons closer to viewer (overlapping)
  • 8. HIDDEN SURFACE REMOVAL  Surfaces that are completely occluded are simply culled.  They never get drawn.  Partially occluded polygons get dealt with using a Hidden Surface Removal algorithm.  Most well known of these is the z-buffer algorithm.
  • 9. HIDDEN SURFACE REMOVAL 1. 2. Stage one deals with culling backface polygons Stage two deals with partial occlusion.
  • 10. CULLING  Culling done relative to viewing angle.  If difference between the viewing angle and the surface normal is greater than 90 degrees, the surface is invisible.  Also known as back-face culling  Remove those triangles not facing the camera from the rendering queue.  Deals with complete occluded polugons.
  • 11. CULLING If the difference is greater than 90 degrees, then we remove the polygon from the list Of objects to be rendered.
  • 12. AFTER CULLING  Having removed the hidden polygons, we need to decide upon overlapping polygons.  All polygons drawn as separate entities. No knowledge of relationship in the scene.  Need an algorithm to decide on how partially occluded polygons are to be drawn.  Such as the z-buffer algorithm.
  • 13. THE PAINTER’S ALGORITHM  Deals with hidden visibility by drawing things farthest to nearest.  Like a painter on a canvas.  Requires some pixels to be redrawn several times.  And has some problems with overlapping shapes.  Compensation for this complicated and expensive.  Splitting polygons.
  • 15. Z-BUFFERING  For each pixel, we could sort each polygon by depth. Draw only the one nearest. Sorting a costly process  And done for each pixel to be rendered.  Z-Buffering achieves the same effect without sorting. Dramatic performance improvement in terms of CPU. Quite costly in terms of memory representation. Many hardware architectures have dedicated z-buffer chips.
  • 16. Z-BUFFER  The Z-Buffer is a 2D array that maps onto the same dimensions as the image. As we encounter polygons, we make a note of their depth (z) value.  We assume our viewport is on the positive z-axis And we are looking down that z-axis towards the scene.  Done during rasterisation. We keep a track of the depth of each image we are to draw. We store the colour and the intensity as we do this.
  • 17. Z-BUFFER  While doing the rasterisation, we can compare the z value against our current ‘nearest’ shape. If it’s farther away, we don’t render it.  Skip it, move on to the next If it’s closer than our previous closest, it becomes the new closest match.  It replaces the colour and intensity as it does so.  The end result is that the frame buffer contains only the information relating to the nearest polygon for any pixel.
  • 19. PROCESS  3D Scene leads to definition of relationship of objects. Scene gets broken down into polygons to represent 3D shapes.  Back-face culling used to eliminate polygons that are invisible.  Rasterisation goes over each non-culled polygon to determine where it falls on the viewing screen. Colour and intensity of each pixel determined Z-buffering used to ensure proper handling of partial occlusion.
  • 20. Z-BUFFERING AND TRANSPARENCY  The Z-Buffer algorithm doesn’t work for transparent polygons. Alas!  The z-buffer occludes things behind other things. With transparency, we should be able to see the things we are in front of.  A quick fix: Draw opaque polygons first Then draw translucent polygons  Can be combined with alpha blending.
  • 21. OTHER KINDS OF HSR  Contribution culling If objects are too small to contribute to a scene, then we simply discard them.  Viewport culling If objects are outside our viewing projection, we don’t process them.  Other visibility algorithms exists Binary tree partitioning Warnock algorithm Ray Casting
  • 22. IMPORTANCE OF HSR  Despite huge improvements in GPU hardware, efficiency still important. Hardware has gotten more powerful Models have gotten more complex.  A certain frame-rate is required in order for ‘realistic’ motion to be experienced. Trade-off between polygon count and frame- rate.  Easiest way to reduce polygon count without compromising graphical quality.
  • 23. SUMMARY  Important to be able to cull hidden polygons and pixels.  Reduces rendering cost.  Two related processes.  Culling  Visibility  Z-Buffering one of the most common processes in use today.