SlideShare una empresa de Scribd logo
1 de 23
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.

Más contenido relacionado

La actualidad más candente

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 methodsJoseph Charles
 
Morphological image processing
Morphological image processingMorphological image processing
Morphological image processingVinayak Narayanan
 
Visible surface identification
Visible surface identificationVisible surface identification
Visible surface identificationPooja Dixit
 
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 9fungfung 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 dilationAkhil .B
 
Hidden lines & surfaces
Hidden lines & surfacesHidden lines & surfaces
Hidden lines & surfacesAnkur Kumar
 
GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)Michael Heron
 
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
 

La actualidad más candente (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 a 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 Convictionozlael ozlael
 
Scanline rendering
Scanline renderingScanline rendering
Scanline renderingVisCircle
 
3D Graphics
3D Graphics3D Graphics
3D GraphicsViTAly
 
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 2Sardar Alam
 
Introduction occlusion
Introduction occlusionIntroduction occlusion
Introduction occlusionVisCircle
 
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 HardwareMark Kilgard
 
Mixing Path Rendering and 3D
Mixing Path Rendering and 3DMixing Path Rendering and 3D
Mixing Path Rendering and 3DMark 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 ImagesJayakrishnan U
 
visual realism in geometric modeling
visual realism in geometric modelingvisual realism in geometric modeling
visual realism in geometric modelingsabiha khathun
 
Technologies Used In Graphics Rendering
Technologies Used In Graphics RenderingTechnologies Used In Graphics Rendering
Technologies Used In Graphics RenderingBhupinder Singh
 
Unit 3 visual realism
Unit 3 visual realismUnit 3 visual realism
Unit 3 visual realismJavith Saleem
 
visual realism Unit iii
 visual realism Unit iii visual realism Unit iii
visual realism Unit iiiArun Prakash
 
Scratch a pixel - Reflection
Scratch a pixel - ReflectionScratch a pixel - Reflection
Scratch a pixel - ReflectionYiwei 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 ApplicationsThePro3DStudio
 
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 a 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
 

Más de Michael Heron

Meeple centred design - Board Game Accessibility
Meeple centred design - Board Game AccessibilityMeeple centred design - Board Game Accessibility
Meeple centred design - Board Game AccessibilityMichael Heron
 
Musings on misconduct
Musings on misconductMusings on misconduct
Musings on misconductMichael Heron
 
Accessibility Support with the ACCESS Framework
Accessibility Support with the ACCESS FrameworkAccessibility Support with the ACCESS Framework
Accessibility Support with the ACCESS FrameworkMichael 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 SupportMichael Heron
 
Authorship and Autership
Authorship and AutershipAuthorship and Autership
Authorship and AutershipMichael Heron
 
Text parser based interaction
Text parser based interactionText parser based interaction
Text parser based interactionMichael Heron
 
GRPHICS08 - Raytracing and Radiosity
GRPHICS08 - Raytracing and RadiosityGRPHICS08 - Raytracing and Radiosity
GRPHICS08 - Raytracing and RadiosityMichael Heron
 
GRPHICS07 - Textures
GRPHICS07 - TexturesGRPHICS07 - Textures
GRPHICS07 - TexturesMichael Heron
 
GRPHICS03 - Graphical Representation
GRPHICS03 - Graphical RepresentationGRPHICS03 - Graphical Representation
GRPHICS03 - Graphical RepresentationMichael Heron
 
GRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D GraphicsGRPHICS02 - Creating 3D Graphics
GRPHICS02 - Creating 3D GraphicsMichael Heron
 
GRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D GraphicsGRPHICS01 - Introduction to 3D Graphics
GRPHICS01 - Introduction to 3D GraphicsMichael Heron
 
GRPHICS09 - Art Appreciation
GRPHICS09 - Art AppreciationGRPHICS09 - Art Appreciation
GRPHICS09 - Art AppreciationMichael Heron
 
2CPP14 - Abstraction
2CPP14 - Abstraction2CPP14 - Abstraction
2CPP14 - AbstractionMichael Heron
 
2CPP13 - Operator Overloading
2CPP13 - Operator Overloading2CPP13 - Operator Overloading
2CPP13 - Operator OverloadingMichael Heron
 
2CPP12 - Method Overriding
2CPP12 - Method Overriding2CPP12 - Method Overriding
2CPP12 - Method OverridingMichael Heron
 

Más de 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
 

Último

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Drew Madelung
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountPuma Security, LLC
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slidespraypatel2
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationMichael W. Hawkins
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Scriptwesley chun
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...apidays
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerThousandEyes
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxMalak Abu Hammad
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)wesley chun
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...Neo4j
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessPixlogix Infotech
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonAnna Loughnan Colquhoun
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024The Digital Insurer
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfEnterprise Knowledge
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘RTylerCroy
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfsudhanshuwaghmare1
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024The Digital Insurer
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Miguel Araújo
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking MenDelhi Call girls
 

Último (20)

Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
Breaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path MountBreaking the Kubernetes Kill Chain: Host Path Mount
Breaking the Kubernetes Kill Chain: Host Path Mount
 
Slack Application Development 101 Slides
Slack Application Development 101 SlidesSlack Application Development 101 Slides
Slack Application Development 101 Slides
 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
Apidays Singapore 2024 - Building Digital Trust in a Digital Economy by Veron...
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
The Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptxThe Codex of Business Writing Software for Real-World Solutions 2.pptx
The Codex of Business Writing Software for Real-World Solutions 2.pptx
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your BusinessAdvantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdfThe Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 

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.