SlideShare una empresa de Scribd logo
1 de 27
RAY-TRACING AND
RADIOSITY
Michael Heron
INTRODUCTION
 Thus far our discussion of 3D graphics has
concentrated mainly of real-time rendering.
 In today’s lecture, we will discuss the two main
techniques for non real-time rendering.
 Raytracing
 Radiosity
REFLECTION MODELS
 Local reflection model
 Imagine lights and objects are floating in dark space
 Considers only direct illumination
 Global reflection model
 Indirect light considered
 Light is reflected multiple times
 Much more computationally expensive.
 Outside the reach of most real-time applications.
 For now…
LOCAL VERSUS GLOBAL
Direct
illumination
only
Local model
Light source
Global model
Direct and
indirect
illumination
GLOBAL ILLUMINATION
 In theory, for this we:
 Trace rays from each light source to each point
visible from that light source
 Trace reflections and refractions from this point to
other surfaces
 Continue until:
 We reach the viewport, or
 We exit the scene entirely
 Approximations still used
 Can’t trace all rays of light from a light source.
RAY-TRACING
 Ray tracing is the process of tracing the
path of light through pixels in an image.
Capable of producing high degrees of realism.
 Still not quite photorealistic, but not far off.
High computational cost
 Best used for scenes and animations that can be pre-
rendered.
 Incorporates many aspects of physics
Light reflection
Light refraction
Light scattering
RAY-TRACING
 Rays send away from the camera rather
than to it
Most rays of light emitted from a source would
not hit the viewing plane.
 Comparable method called photon mapping exists.
 Many orders of magnitude more expensive to calculate.
 Provides advantages:
Reflections and shadows realistically produced
 And disadvantages:
Expensive to calculate each scene
Still an approximation
RAY-TRACING
Rays sent backwards
from the camera.
Much less
computationally
expensive than the
alternative.
http://www.codinghorror.com/blog/archives/001073.html
LIGHT INTERACTIONS
 Remember our different kinds of light
interactions.
Perfect Specular
Imperfect Specular
Diffuse
 Must be able to combine light interactions
in a ray-tracing model.
Specular to Diffuse
Diffuse to Specular
And so on
TRANSMISSION OF LIGHT
 Indirect transmission of light occurs in several
ways
 Reflection
 Transparent refractions
 Translucent diffusion
 Transparency should refract light
 It looks unrealistic otherwise.
 Translucency transmits light in multiple new
directions.
RAY-TRACING
 For each pixel, we calculate the ray from the
centre of the viewport through that pixel.
 Find the intersection of that ray with the nearest
object.
 Determine the pixel colour based o surface
properties, orientation, and light intensities
 This may in itself have a component from reflected or
refracted light rays
 If the surface is reflective or transparent,
generate a new ray.
 Trace that onwards.
 Repeat for all pixels.
 If no intersection, pixel colour is background
colour.
RAY-TRACING
 Secondary rays may be used for diffuse reflection.
 Generate multiple new rays and trace them on.
 Depends on the kind of reflection needed.
 Each secondary ray is followed until it hits another
object, light source, or background.
 Recursion is used to permit this relationship to
extend to predefined limits.
RAY-TRACING RESULTS
EFFICIENCY
 Expense of computation based on number
of calculations required.
Consider a 1000x1000 resolution.
 On a scene with 1000 objects.
 With a single light source.
 Consider primary illumination first
 How about secondary rays?
 Further orders of illumination?
 How about a second light source?
 Or a third?
 Various optimisation schemes exist.
RADIOSITY
 Radiosity is based on a model of radiative
heat transfer.
Assumes conservation of light energy in a
closed environment.
 Energy emitted or reflected by every
surface accounted for by:
Absorption
Reflection
Refraction
Fluorescence
RADIOSITY
 All surfaces are broken up into patches
and elements.
Patches can emit or send light
 They send light to other parts of the model.
Elements can absorb light
 They receive light from other parts of the model.
 Number of patches relates to
computational intensity.
 Each element is associated with a patch.
Indeed, a patch may have many elements
RADIOSITY
 Radiosity works through a system of progressive
refinement
 Start with the patch which has most energy to ‘shoot’
 Each of the elements receive the energy appropriately, and
add to the energy of their own patches.
 Repeat with the patch which now has the most unspent
energy.
 Repeat until all patches are empty, or some minimal bound is
reached.
RADIOSITY
Every polygon
gets treated as a
patch (a light
source)
Every patch is
associated with a
number of
elements,
http://www.cs.princeton.edu/courses/archive/fall00/cs426/lectures/ra
diosity/radiosity.pdf
PATCHES
 Patches may be present in higher resolution than
surfaces.
 One surface may be broken up into many patches.
 Subdivision algorithms used to further refine
patch mapping over surfaces.
 Can be done blindly
 Or intelligently
 Focus at areas of high contrast in light levels.
RADIOSITY – A FIRST APPROACH
 Imagine a simple room
 Four walls
 A Ceiling
 A Floor
 No light source
 Radiosity makes each of the surfaces in the scene a light
source.
 Some of these surfaces may have no energy to spend to begin
with.
 Imagine the roof as a giant light source.
 Like in a supermarket
 Each surface stores:
 How brightly lit it is
 How much surplus energy it has to spend.
 We must calculate the interaction of energy to surface of
all surfaces in the scene.
 Can be calculated in many ways. Most usual is by geometric
distance.
 The resulting number is the form factor.
RADIOSITY
Radiosity creates a scene of soft
diffuse light. Represents the
interaction of surfaces well, but
cannot suitably deal with specular
reflection.
http://www.cs.dartmouth.edu/~spl/
Academic/ComputerGraphics/Fall2
004/outline.html
GLOBAL REFLECTION MODELS
 Ray Tracing
 Simulates perfect specular reflections
 Good for shiny objects reflecting in each other.
 Ray-traced images tend to have lots of shiny objects
with perfect reflections.
 Is viewport dependant.
 Change the viewport and you need to rerender.
 Radiosity
 Simulates the interactions of diffuse light
 Good for matte surfaces
 Images rendered using radiosity tend to be softly lit
rooms without shiny objects.
 Is viewport independent.
 Change the viewport and the radiosity image remains the
same.
GLOBAL REFLECTION MODELS
 Best results obtained by combining the two into a
two-pass method.
 Radiosity used to build a model of diffuse
illumination across a scene.
 Raytracing used to build a viewport dependant
illumination of the scene.
 Combination of two has representation of specular
and diffuse radiation.
 Permits soft and hard lighting in a single scene.
TWO PASS - RAYTRACING
TWO PASS - RADIOSITY
TWO PASS - COMBINED
SUMMARY
 Non real-time rendering works through two
primary methods.
 Ray-tracing
 Map the path of light from a viewport to objects.
 Radiosity
 Light interactions modelled as energy interactions between
patches.
 Best results obtained by combining both
approaches into a two-pass algorithm.

Más contenido relacionado

La actualidad más candente

Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lightingozlael ozlael
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removalPunyajoy Saha
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2Guerrilla
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space MarinePope Kim
 
SIGGRAPH 2010 Water Flow in Portal 2
SIGGRAPH 2010 Water Flow in Portal 2SIGGRAPH 2010 Water Flow in Portal 2
SIGGRAPH 2010 Water Flow in Portal 2Alex Vlachos
 
Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Tiago Sousa
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow MappingSukwoo Lee
 
Image Processing
Image ProcessingImage Processing
Image ProcessingRolando
 
Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4Lukas Lang
 
Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...
Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...
Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...Takahiro Harada
 
Dip unit-i-ppt academic year(2016-17)
Dip unit-i-ppt academic year(2016-17)Dip unit-i-ppt academic year(2016-17)
Dip unit-i-ppt academic year(2016-17)RagavanK6
 
3D Television and Current trends.
3D Television and Current trends.3D Television and Current trends.
3D Television and Current trends.rexbison
 
Star Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingStar Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingumsl snfrzb
 
Image pre processing
Image pre processingImage pre processing
Image pre processingAshish Kumar
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Tiago Sousa
 
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5The Importance of Terminology and sRGB Uncertainty - Notes - 0.5
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5Thomas Mansencal
 

La actualidad más candente (20)

Ray tracing
Ray tracingRay tracing
Ray tracing
 
Hable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr LightingHable John Uncharted2 Hdr Lighting
Hable John Uncharted2 Hdr Lighting
 
Hidden surface removal
Hidden surface removalHidden surface removal
Hidden surface removal
 
The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2The Rendering Technology of Killzone 2
The Rendering Technology of Killzone 2
 
Rendering Tech of Space Marine
Rendering Tech of Space MarineRendering Tech of Space Marine
Rendering Tech of Space Marine
 
SIGGRAPH 2010 Water Flow in Portal 2
SIGGRAPH 2010 Water Flow in Portal 2SIGGRAPH 2010 Water Flow in Portal 2
SIGGRAPH 2010 Water Flow in Portal 2
 
Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3Anti-Aliasing Methods in CryENGINE 3
Anti-Aliasing Methods in CryENGINE 3
 
Cascade Shadow Mapping
Cascade Shadow MappingCascade Shadow Mapping
Cascade Shadow Mapping
 
Image Processing
Image ProcessingImage Processing
Image Processing
 
Cv_Chap 4 Segmentation
Cv_Chap 4 SegmentationCv_Chap 4 Segmentation
Cv_Chap 4 Segmentation
 
Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4Physically Based Lighting in Unreal Engine 4
Physically Based Lighting in Unreal Engine 4
 
Ray tracing
Ray tracingRay tracing
Ray tracing
 
Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...
Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...
Introduction to Bidirectional Path Tracing (BDPT) & Implementation using Open...
 
Dip unit-i-ppt academic year(2016-17)
Dip unit-i-ppt academic year(2016-17)Dip unit-i-ppt academic year(2016-17)
Dip unit-i-ppt academic year(2016-17)
 
3D Television and Current trends.
3D Television and Current trends.3D Television and Current trends.
3D Television and Current trends.
 
Star Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processingStar Ocean 4 - Flexible Shader Managment and Post-processing
Star Ocean 4 - Flexible Shader Managment and Post-processing
 
Image pre processing
Image pre processingImage pre processing
Image pre processing
 
Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)Crysis Next-Gen Effects (GDC 2008)
Crysis Next-Gen Effects (GDC 2008)
 
Dip chapter 2
Dip chapter 2Dip chapter 2
Dip chapter 2
 
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5The Importance of Terminology and sRGB Uncertainty - Notes - 0.5
The Importance of Terminology and sRGB Uncertainty - Notes - 0.5
 

Destacado

CS 354 Ray Casting & Tracing
CS 354 Ray Casting & TracingCS 354 Ray Casting & Tracing
CS 354 Ray Casting & TracingMark Kilgard
 
Gi = global illumination
Gi = global illuminationGi = global illumination
Gi = global illuminationSperasoft
 
Advanced Scenegraph Rendering Pipeline
Advanced Scenegraph Rendering PipelineAdvanced Scenegraph Rendering Pipeline
Advanced Scenegraph Rendering PipelineNarann29
 
Visual surface detection i
Visual surface detection   iVisual surface detection   i
Visual surface detection ielaya1984
 
Design your 3d game engine
Design your 3d game engineDesign your 3d game engine
Design your 3d game engineDaosheng Mu
 
OpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering TechniquesOpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering TechniquesNarann29
 
Game engine introduction and approach
Game engine introduction and approachGame engine introduction and approach
Game engine introduction and approachDuy Tan Geek
 
Vanishing point slideshow
Vanishing point slideshowVanishing point slideshow
Vanishing point slideshowBrooke Nelson
 
Motion blur photography-(catherine)
Motion blur photography-(catherine)Motion blur photography-(catherine)
Motion blur photography-(catherine)Catherine Dewilde
 
Game Engine Overview
Game Engine OverviewGame Engine Overview
Game Engine OverviewSharad Mitra
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine ArchitectureAttila Jenei
 
Game Architecture and Programming
Game Architecture and ProgrammingGame Architecture and Programming
Game Architecture and ProgrammingSumit Jain
 
What Is A Game Engine
What Is A Game EngineWhat Is A Game Engine
What Is A Game EngineSeth Sivak
 
Tetrahedral mesh generation - robustness test
Tetrahedral mesh generation - robustness testTetrahedral mesh generation - robustness test
Tetrahedral mesh generation - robustness testLaurent Souche
 
Convex Hull - Chan's Algorithm O(n log h) - Presentation by Yitian Huang and ...
Convex Hull - Chan's Algorithm O(n log h) - Presentation by Yitian Huang and ...Convex Hull - Chan's Algorithm O(n log h) - Presentation by Yitian Huang and ...
Convex Hull - Chan's Algorithm O(n log h) - Presentation by Yitian Huang and ...Amrinder Arora
 

Destacado (20)

CS 354 Ray Casting & Tracing
CS 354 Ray Casting & TracingCS 354 Ray Casting & Tracing
CS 354 Ray Casting & Tracing
 
Gi = global illumination
Gi = global illuminationGi = global illumination
Gi = global illumination
 
Advanced Scenegraph Rendering Pipeline
Advanced Scenegraph Rendering PipelineAdvanced Scenegraph Rendering Pipeline
Advanced Scenegraph Rendering Pipeline
 
Texture Synthesis
Texture SynthesisTexture Synthesis
Texture Synthesis
 
Visual surface detection i
Visual surface detection   iVisual surface detection   i
Visual surface detection i
 
Design your 3d game engine
Design your 3d game engineDesign your 3d game engine
Design your 3d game engine
 
OpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering TechniquesOpenGL 4.4 - Scene Rendering Techniques
OpenGL 4.4 - Scene Rendering Techniques
 
Game engine introduction and approach
Game engine introduction and approachGame engine introduction and approach
Game engine introduction and approach
 
Vanishing point slideshow
Vanishing point slideshowVanishing point slideshow
Vanishing point slideshow
 
Motion blur photography-(catherine)
Motion blur photography-(catherine)Motion blur photography-(catherine)
Motion blur photography-(catherine)
 
Game Engine Overview
Game Engine OverviewGame Engine Overview
Game Engine Overview
 
Lighting and shading
Lighting and shadingLighting and shading
Lighting and shading
 
Unity - Game Engine
Unity - Game EngineUnity - Game Engine
Unity - Game Engine
 
Motion blur
Motion blurMotion blur
Motion blur
 
Game Engine Architecture
Game Engine ArchitectureGame Engine Architecture
Game Engine Architecture
 
Game Architecture and Programming
Game Architecture and ProgrammingGame Architecture and Programming
Game Architecture and Programming
 
What Is A Game Engine
What Is A Game EngineWhat Is A Game Engine
What Is A Game Engine
 
Tetrahedral mesh generation - robustness test
Tetrahedral mesh generation - robustness testTetrahedral mesh generation - robustness test
Tetrahedral mesh generation - robustness test
 
Mesh generation in CFD
Mesh generation in CFDMesh generation in CFD
Mesh generation in CFD
 
Convex Hull - Chan's Algorithm O(n log h) - Presentation by Yitian Huang and ...
Convex Hull - Chan's Algorithm O(n log h) - Presentation by Yitian Huang and ...Convex Hull - Chan's Algorithm O(n log h) - Presentation by Yitian Huang and ...
Convex Hull - Chan's Algorithm O(n log h) - Presentation by Yitian Huang and ...
 

Similar a GRPHICS08 - Raytracing and Radiosity

GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)Michael Heron
 
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_r
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_rHeckbert p s__adaptive_radiosity_textures_for_bidirectional_r
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_rXavier Davias
 
Radiosity in CAD and 3D, informative.
Radiosity in CAD and 3D, informative.Radiosity in CAD and 3D, informative.
Radiosity in CAD and 3D, informative.meheng1001
 
Computer vision - light
Computer vision - lightComputer vision - light
Computer vision - lightWael Badawy
 
PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdf
PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdfPapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdf
PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdfAdam Hill
 
laser beam technology
laser beam technology laser beam technology
laser beam technology sandertein
 
Direct Volume Rendering (DVR): Ray-casting
Direct Volume Rendering (DVR): Ray-castingDirect Volume Rendering (DVR): Ray-casting
Direct Volume Rendering (DVR): Ray-castingCaferYaarKarabulut
 
Basics of light reflection
Basics of light reflectionBasics of light reflection
Basics of light reflectionSandyd123
 
Uv testing measurements before, during and after
Uv testing measurements before, during and afterUv testing measurements before, during and after
Uv testing measurements before, during and afterMichel Comtois
 
Phy exppp chap12
Phy exppp chap12Phy exppp chap12
Phy exppp chap12hmsoh
 
Reflection And Refraction
Reflection And RefractionReflection And Refraction
Reflection And Refractioneliseb
 
Reflection-refraction.ppt
Reflection-refraction.pptReflection-refraction.ppt
Reflection-refraction.pptsimonckt1
 
Chapter 1924. If you dip your finger repeatedly into a puddle of.docx
Chapter 1924. If you dip your finger repeatedly into a puddle of.docxChapter 1924. If you dip your finger repeatedly into a puddle of.docx
Chapter 1924. If you dip your finger repeatedly into a puddle of.docxcravennichole326
 
02 properties of light
02 properties of light02 properties of light
02 properties of lightAnisur Rahman
 

Similar a GRPHICS08 - Raytracing and Radiosity (20)

Illumination Model
Illumination ModelIllumination Model
Illumination Model
 
GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)GRPHICS04 - Rendering (1)
GRPHICS04 - Rendering (1)
 
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_r
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_rHeckbert p s__adaptive_radiosity_textures_for_bidirectional_r
Heckbert p s__adaptive_radiosity_textures_for_bidirectional_r
 
Radiosity in CAD and 3D, informative.
Radiosity in CAD and 3D, informative.Radiosity in CAD and 3D, informative.
Radiosity in CAD and 3D, informative.
 
Global illumination
Global illuminationGlobal illumination
Global illumination
 
Computer vision - light
Computer vision - lightComputer vision - light
Computer vision - light
 
PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdf
PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdfPapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdf
PapersWeLove - Rendering Synthetic Objects Into Real Scenes - Paul Debevec.pdf
 
laser beam technology
laser beam technology laser beam technology
laser beam technology
 
Direct Volume Rendering (DVR): Ray-casting
Direct Volume Rendering (DVR): Ray-castingDirect Volume Rendering (DVR): Ray-casting
Direct Volume Rendering (DVR): Ray-casting
 
Basics of light reflection
Basics of light reflectionBasics of light reflection
Basics of light reflection
 
Uv testing measurements before, during and after
Uv testing measurements before, during and afterUv testing measurements before, during and after
Uv testing measurements before, during and after
 
3Ds Max lighting
3Ds Max lighting 3Ds Max lighting
3Ds Max lighting
 
Phy exppp chap12
Phy exppp chap12Phy exppp chap12
Phy exppp chap12
 
Reflection And Refraction
Reflection And RefractionReflection And Refraction
Reflection And Refraction
 
Report
ReportReport
Report
 
Reflection-refraction.ppt
Reflection-refraction.pptReflection-refraction.ppt
Reflection-refraction.ppt
 
Reflection-refraction.ppt
Reflection-refraction.pptReflection-refraction.ppt
Reflection-refraction.ppt
 
10illumination
10illumination10illumination
10illumination
 
Chapter 1924. If you dip your finger repeatedly into a puddle of.docx
Chapter 1924. If you dip your finger repeatedly into a puddle of.docxChapter 1924. If you dip your finger repeatedly into a puddle of.docx
Chapter 1924. If you dip your finger repeatedly into a puddle of.docx
 
02 properties of light
02 properties of light02 properties of light
02 properties of light
 

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
 
GRPHICS07 - Textures
GRPHICS07 - TexturesGRPHICS07 - Textures
GRPHICS07 - TexturesMichael Heron
 
GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)Michael 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
 

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
 
GRPHICS07 - Textures
GRPHICS07 - TexturesGRPHICS07 - Textures
GRPHICS07 - Textures
 
GRPHICS06 - Shading
GRPHICS06 - ShadingGRPHICS06 - Shading
GRPHICS06 - Shading
 
GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)GRPHICS05 - Rendering (2)
GRPHICS05 - Rendering (2)
 
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
 

Último

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilV3cube
 
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
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptxHampshireHUG
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Servicegiselly40
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreternaman860154
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024The Digital Insurer
 
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
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsEnterprise Knowledge
 
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
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Allon Mureinik
 
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
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdfhans926745
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsMaria Levchenko
 
🐬 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
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure servicePooja Nehwal
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking MenDelhi Call girls
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)Gabriella Davis
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc
 

Último (20)

Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
 
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...
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Presentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreterPresentation on how to chat with PDF using ChatGPT code interpreter
Presentation on how to chat with PDF using ChatGPT code interpreter
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
 
IAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI SolutionsIAC 2024 - IA Fast Track to Search Focused AI Solutions
IAC 2024 - IA Fast Track to Search Focused AI Solutions
 
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...
 
Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 2024)Injustice - Developers Among Us (SciFiDevCon 2024)
Injustice - Developers Among Us (SciFiDevCon 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...
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
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
 
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure serviceWhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
WhatsApp 9892124323 ✓Call Girls In Kalyan ( Mumbai ) secure service
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 

GRPHICS08 - Raytracing and Radiosity

  • 2. INTRODUCTION  Thus far our discussion of 3D graphics has concentrated mainly of real-time rendering.  In today’s lecture, we will discuss the two main techniques for non real-time rendering.  Raytracing  Radiosity
  • 3. REFLECTION MODELS  Local reflection model  Imagine lights and objects are floating in dark space  Considers only direct illumination  Global reflection model  Indirect light considered  Light is reflected multiple times  Much more computationally expensive.  Outside the reach of most real-time applications.  For now…
  • 4. LOCAL VERSUS GLOBAL Direct illumination only Local model Light source Global model Direct and indirect illumination
  • 5. GLOBAL ILLUMINATION  In theory, for this we:  Trace rays from each light source to each point visible from that light source  Trace reflections and refractions from this point to other surfaces  Continue until:  We reach the viewport, or  We exit the scene entirely  Approximations still used  Can’t trace all rays of light from a light source.
  • 6. RAY-TRACING  Ray tracing is the process of tracing the path of light through pixels in an image. Capable of producing high degrees of realism.  Still not quite photorealistic, but not far off. High computational cost  Best used for scenes and animations that can be pre- rendered.  Incorporates many aspects of physics Light reflection Light refraction Light scattering
  • 7. RAY-TRACING  Rays send away from the camera rather than to it Most rays of light emitted from a source would not hit the viewing plane.  Comparable method called photon mapping exists.  Many orders of magnitude more expensive to calculate.  Provides advantages: Reflections and shadows realistically produced  And disadvantages: Expensive to calculate each scene Still an approximation
  • 8. RAY-TRACING Rays sent backwards from the camera. Much less computationally expensive than the alternative. http://www.codinghorror.com/blog/archives/001073.html
  • 9. LIGHT INTERACTIONS  Remember our different kinds of light interactions. Perfect Specular Imperfect Specular Diffuse  Must be able to combine light interactions in a ray-tracing model. Specular to Diffuse Diffuse to Specular And so on
  • 10. TRANSMISSION OF LIGHT  Indirect transmission of light occurs in several ways  Reflection  Transparent refractions  Translucent diffusion  Transparency should refract light  It looks unrealistic otherwise.  Translucency transmits light in multiple new directions.
  • 11. RAY-TRACING  For each pixel, we calculate the ray from the centre of the viewport through that pixel.  Find the intersection of that ray with the nearest object.  Determine the pixel colour based o surface properties, orientation, and light intensities  This may in itself have a component from reflected or refracted light rays  If the surface is reflective or transparent, generate a new ray.  Trace that onwards.  Repeat for all pixels.  If no intersection, pixel colour is background colour.
  • 12. RAY-TRACING  Secondary rays may be used for diffuse reflection.  Generate multiple new rays and trace them on.  Depends on the kind of reflection needed.  Each secondary ray is followed until it hits another object, light source, or background.  Recursion is used to permit this relationship to extend to predefined limits.
  • 14. EFFICIENCY  Expense of computation based on number of calculations required. Consider a 1000x1000 resolution.  On a scene with 1000 objects.  With a single light source.  Consider primary illumination first  How about secondary rays?  Further orders of illumination?  How about a second light source?  Or a third?  Various optimisation schemes exist.
  • 15. RADIOSITY  Radiosity is based on a model of radiative heat transfer. Assumes conservation of light energy in a closed environment.  Energy emitted or reflected by every surface accounted for by: Absorption Reflection Refraction Fluorescence
  • 16. RADIOSITY  All surfaces are broken up into patches and elements. Patches can emit or send light  They send light to other parts of the model. Elements can absorb light  They receive light from other parts of the model.  Number of patches relates to computational intensity.  Each element is associated with a patch. Indeed, a patch may have many elements
  • 17. RADIOSITY  Radiosity works through a system of progressive refinement  Start with the patch which has most energy to ‘shoot’  Each of the elements receive the energy appropriately, and add to the energy of their own patches.  Repeat with the patch which now has the most unspent energy.  Repeat until all patches are empty, or some minimal bound is reached.
  • 18. RADIOSITY Every polygon gets treated as a patch (a light source) Every patch is associated with a number of elements, http://www.cs.princeton.edu/courses/archive/fall00/cs426/lectures/ra diosity/radiosity.pdf
  • 19. PATCHES  Patches may be present in higher resolution than surfaces.  One surface may be broken up into many patches.  Subdivision algorithms used to further refine patch mapping over surfaces.  Can be done blindly  Or intelligently  Focus at areas of high contrast in light levels.
  • 20. RADIOSITY – A FIRST APPROACH  Imagine a simple room  Four walls  A Ceiling  A Floor  No light source  Radiosity makes each of the surfaces in the scene a light source.  Some of these surfaces may have no energy to spend to begin with.  Imagine the roof as a giant light source.  Like in a supermarket  Each surface stores:  How brightly lit it is  How much surplus energy it has to spend.  We must calculate the interaction of energy to surface of all surfaces in the scene.  Can be calculated in many ways. Most usual is by geometric distance.  The resulting number is the form factor.
  • 21. RADIOSITY Radiosity creates a scene of soft diffuse light. Represents the interaction of surfaces well, but cannot suitably deal with specular reflection. http://www.cs.dartmouth.edu/~spl/ Academic/ComputerGraphics/Fall2 004/outline.html
  • 22. GLOBAL REFLECTION MODELS  Ray Tracing  Simulates perfect specular reflections  Good for shiny objects reflecting in each other.  Ray-traced images tend to have lots of shiny objects with perfect reflections.  Is viewport dependant.  Change the viewport and you need to rerender.  Radiosity  Simulates the interactions of diffuse light  Good for matte surfaces  Images rendered using radiosity tend to be softly lit rooms without shiny objects.  Is viewport independent.  Change the viewport and the radiosity image remains the same.
  • 23. GLOBAL REFLECTION MODELS  Best results obtained by combining the two into a two-pass method.  Radiosity used to build a model of diffuse illumination across a scene.  Raytracing used to build a viewport dependant illumination of the scene.  Combination of two has representation of specular and diffuse radiation.  Permits soft and hard lighting in a single scene.
  • 24. TWO PASS - RAYTRACING
  • 25. TWO PASS - RADIOSITY
  • 26. TWO PASS - COMBINED
  • 27. SUMMARY  Non real-time rendering works through two primary methods.  Ray-tracing  Map the path of light from a viewport to objects.  Radiosity  Light interactions modelled as energy interactions between patches.  Best results obtained by combining both approaches into a two-pass algorithm.