SlideShare una empresa de Scribd logo
1 de 14
Silhouettes and Outlines
Jesse Harrison
Objective
●

To obtain outlines and silhouettes from each
individual object in real time using various
techniques.
Outlines in Image Space
●

●

A simple way to generate outlines would be to
render the scene from a desired point of view,
detect the edges in the image and then display
them.
However, the edges of a photograph do not
typically correspond to the silhouettes that we
want to illustrate. For instance highly textured
surfaces will generate edges irrelevant to the
objects shape and further more no edge would
be detected between two overlapping objects
with the same color
Depth Map
●

●

●

A better way to generate silhouettes is to render
the image, extract the depth map and apply an
edge detection to that map.
The idea is that the variation in depth between
adjacent pixels is usually small while the
variation between objects is large.
The problem is that the depth map does not
detect boundaries between objects that are at
the same depth, nor does it detect creases
Normal Map
●

●

●

We can augment the silhouette edges
computed with the depth map by using surface
normals as well.
The surface normals will detect changes in
surface orientation i.e. give us what depth can't
So we apply an edge detection algorithm to our
normal map and combine it with our depth map
to produce our silhouette edge.
Depth and Normal Map

Depth

Normal

Depth+
Normal
What is a Silhouette
●

●

Concerning polygonal meshes, the silhouette
consists of all edges that connect back-facing
polygons to front-facing polygons.
For smooth surfaces it can be defined as the
surface points with a surface normal
perpendicular to the view vector.
Smooth Surfaces
●

●

The first step in finding the silhouette of a
smooth surface, in our case one that is
defined by a triangular mesh, it to compute the
normalized dot product of the normal
of the
mesh at every vertex with the view vector.

We are also interested in the sign of the dot
product.
Smooth Surfaces
●

●

Recalling our goal is to find
and noting
that since both the view vector and surface
normal are continuous over the surface their
dot product must be as well. We can
determine the point where a silhouette lies by
observing a change in signs over a vertex.
I.E. between points and
if
We can approximate the silhouette point by
linearly interpolating between the two
vertecies:
Smooth Surfaces
●

●

●

Finally we can connect the silhouette points into a
silhouette curve.
We do this by observing sign changes between a
triangles vertecies. If one of the three vertecies has a
different sign then the others we can compute the
silhouette point on the two sides with opposites signs
and connect those points with a line segment.
We do this for every triangle with a sign change and
connect the line segments that share an endpoint and
this produces a piecewise linear approximation of the
silhouettes of a smooth surface.
Smooth Surfaces
Visibility
●

●

Now we just need to determine which portions of our
curve is visible.
There are three situations where the visibility of a
surface curve can change.
1) It passes under a silhouette, boundary or crease
in the image plane.
2) It intersects a silhouette, crease, or self
intersection curve on the surface.
3) It is a silhouette or boundary and has a cusp.
Visibility
●

●

The basic algorithm is to break all curves at
potential changes in visibility, producing a new
set of curves.
We then determine which of these new sets of
curves are visible are not by casting a ray from
the view vector. If the ray intersects any
surfaces before the curve, then the curve is
invisible.
The End

Más contenido relacionado

La actualidad más candente

2 point perspective lesson
2 point perspective lesson2 point perspective lesson
2 point perspective lessontnicholem11
 
Linear Perspective
Linear PerspectiveLinear Perspective
Linear Perspectivemrsbauerart
 
2.1.a isometric obliquepictorials
2.1.a  isometric obliquepictorials2.1.a  isometric obliquepictorials
2.1.a isometric obliquepictorialsjoeyrsl
 
Perspective
PerspectivePerspective
Perspectivej Nourry
 
Lesson revolve
Lesson revolveLesson revolve
Lesson revolveMr_Burns
 
3-Point Perspective
3-Point Perspective 3-Point Perspective
3-Point Perspective sfast08
 
3D Display Method
3D Display Method3D Display Method
3D Display MethodKhaled Sany
 
Two point perspective
Two point perspectiveTwo point perspective
Two point perspectivemarsha devine
 
2D art for real time 3D web game
2D art for real time 3D web game2D art for real time 3D web game
2D art for real time 3D web gameaction.vn
 
Abstraction through reorganization
Abstraction through reorganizationAbstraction through reorganization
Abstraction through reorganizationcjoyce104
 
Three point
Three pointThree point
Three pointKeriC325
 

La actualidad más candente (20)

2 point perspective lesson
2 point perspective lesson2 point perspective lesson
2 point perspective lesson
 
Linear Perspective
Linear PerspectiveLinear Perspective
Linear Perspective
 
3D Display
3D Display3D Display
3D Display
 
Oblique drawing
Oblique drawingOblique drawing
Oblique drawing
 
2.1.a isometric obliquepictorials
2.1.a  isometric obliquepictorials2.1.a  isometric obliquepictorials
2.1.a isometric obliquepictorials
 
Twopoint
TwopointTwopoint
Twopoint
 
Pictorial Drawing
Pictorial DrawingPictorial Drawing
Pictorial Drawing
 
Perspective
PerspectivePerspective
Perspective
 
Perspective
PerspectivePerspective
Perspective
 
Disegnare un anello con Illustrator
Disegnare un anello con IllustratorDisegnare un anello con Illustrator
Disegnare un anello con Illustrator
 
Lesson revolve
Lesson revolveLesson revolve
Lesson revolve
 
3-Point Perspective
3-Point Perspective 3-Point Perspective
3-Point Perspective
 
Pictorial Drawing
Pictorial Drawing Pictorial Drawing
Pictorial Drawing
 
3D Display Method
3D Display Method3D Display Method
3D Display Method
 
3 d modeling part 1
3 d modeling part 13 d modeling part 1
3 d modeling part 1
 
Two point perspective
Two point perspectiveTwo point perspective
Two point perspective
 
2D art for real time 3D web game
2D art for real time 3D web game2D art for real time 3D web game
2D art for real time 3D web game
 
3 d modeling part 2
3 d modeling part 23 d modeling part 2
3 d modeling part 2
 
Abstraction through reorganization
Abstraction through reorganizationAbstraction through reorganization
Abstraction through reorganization
 
Three point
Three pointThree point
Three point
 

Similar a Silhouettes and Outlines

visual realism Unit iii
 visual realism Unit iii visual realism Unit iii
visual realism Unit iiiArun Prakash
 
Unit 3 visual realism
Unit 3 visual realismUnit 3 visual realism
Unit 3 visual realismJavith Saleem
 
First and third angle projection
First and third angle projectionFirst and third angle projection
First and third angle projectionSafiullah Khan
 
Hidden Surface Removal methods.pptx
Hidden Surface Removal methods.pptxHidden Surface Removal methods.pptx
Hidden Surface Removal methods.pptxbcanawakadalcollege
 
EFFECTIVE INTEREST REGION ESTIMATION MODEL TO REPRESENT CORNERS FOR IMAGE
EFFECTIVE INTEREST REGION ESTIMATION MODEL TO REPRESENT CORNERS FOR IMAGE EFFECTIVE INTEREST REGION ESTIMATION MODEL TO REPRESENT CORNERS FOR IMAGE
EFFECTIVE INTEREST REGION ESTIMATION MODEL TO REPRESENT CORNERS FOR IMAGE sipij
 
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
 
Google sketchup8
Google sketchup8Google sketchup8
Google sketchup8Trianz King
 
Google sketchup8
Google sketchup8Google sketchup8
Google sketchup8Trianz King
 
Week 3 Polygonal Modelling
Week 3   Polygonal ModellingWeek 3   Polygonal Modelling
Week 3 Polygonal ModellingScottRoberts37
 
Estimating the Crest Lines on Polygonal Mesh Models by an Automatic Threshold
Estimating the Crest Lines on Polygonal Mesh Models by an Automatic ThresholdEstimating the Crest Lines on Polygonal Mesh Models by an Automatic Threshold
Estimating the Crest Lines on Polygonal Mesh Models by an Automatic ThresholdAIRCC Publishing Corporation
 
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...sipij
 
ESTIMATING THE CREST LINES ON POLYGONAL MESH MODELS BY AN AUTOMATIC THRESHOLD
ESTIMATING THE CREST LINES ON POLYGONAL MESH MODELS BY AN AUTOMATIC THRESHOLDESTIMATING THE CREST LINES ON POLYGONAL MESH MODELS BY AN AUTOMATIC THRESHOLD
ESTIMATING THE CREST LINES ON POLYGONAL MESH MODELS BY AN AUTOMATIC THRESHOLDijcsit
 
06 image features
06 image features06 image features
06 image featuresankit_ppt
 
Effective mapping techniques for environmental assessments
Effective mapping techniques for environmental assessmentsEffective mapping techniques for environmental assessments
Effective mapping techniques for environmental assessmentsVictor Spooner
 
Contour lines - Survey & Levelling
Contour lines - Survey & LevellingContour lines - Survey & Levelling
Contour lines - Survey & LevellingAr. Avitesh
 
Dimensioning, scales, lines and multiple projections
Dimensioning, scales, lines and multiple projectionsDimensioning, scales, lines and multiple projections
Dimensioning, scales, lines and multiple projectionsAkash Patel
 

Similar a Silhouettes and Outlines (20)

visual realism Unit iii
 visual realism Unit iii visual realism Unit iii
visual realism Unit iii
 
Unit 3 visual realism
Unit 3 visual realismUnit 3 visual realism
Unit 3 visual realism
 
First and third angle projection
First and third angle projectionFirst and third angle projection
First and third angle projection
 
Lessonrevolve
Lessonrevolve Lessonrevolve
Lessonrevolve
 
3 d display methods
3 d display methods3 d display methods
3 d display methods
 
Hidden Surface Removal methods.pptx
Hidden Surface Removal methods.pptxHidden Surface Removal methods.pptx
Hidden Surface Removal methods.pptx
 
Hidden Surface Removal.pptx
Hidden Surface Removal.pptxHidden Surface Removal.pptx
Hidden Surface Removal.pptx
 
EFFECTIVE INTEREST REGION ESTIMATION MODEL TO REPRESENT CORNERS FOR IMAGE
EFFECTIVE INTEREST REGION ESTIMATION MODEL TO REPRESENT CORNERS FOR IMAGE EFFECTIVE INTEREST REGION ESTIMATION MODEL TO REPRESENT CORNERS FOR IMAGE
EFFECTIVE INTEREST REGION ESTIMATION MODEL TO REPRESENT CORNERS FOR IMAGE
 
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)
 
Google sketchup8
Google sketchup8Google sketchup8
Google sketchup8
 
Google sketchup8
Google sketchup8Google sketchup8
Google sketchup8
 
Week 3 Polygonal Modelling
Week 3   Polygonal ModellingWeek 3   Polygonal Modelling
Week 3 Polygonal Modelling
 
Estimating the Crest Lines on Polygonal Mesh Models by an Automatic Threshold
Estimating the Crest Lines on Polygonal Mesh Models by an Automatic ThresholdEstimating the Crest Lines on Polygonal Mesh Models by an Automatic Threshold
Estimating the Crest Lines on Polygonal Mesh Models by an Automatic Threshold
 
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
IMPROVEMENTS OF THE ANALYSIS OF HUMAN ACTIVITY USING ACCELERATION RECORD OF E...
 
ESTIMATING THE CREST LINES ON POLYGONAL MESH MODELS BY AN AUTOMATIC THRESHOLD
ESTIMATING THE CREST LINES ON POLYGONAL MESH MODELS BY AN AUTOMATIC THRESHOLDESTIMATING THE CREST LINES ON POLYGONAL MESH MODELS BY AN AUTOMATIC THRESHOLD
ESTIMATING THE CREST LINES ON POLYGONAL MESH MODELS BY AN AUTOMATIC THRESHOLD
 
06 image features
06 image features06 image features
06 image features
 
Effective mapping techniques for environmental assessments
Effective mapping techniques for environmental assessmentsEffective mapping techniques for environmental assessments
Effective mapping techniques for environmental assessments
 
Contour lines - Survey & Levelling
Contour lines - Survey & LevellingContour lines - Survey & Levelling
Contour lines - Survey & Levelling
 
3 d display-methods
3 d display-methods3 d display-methods
3 d display-methods
 
Dimensioning, scales, lines and multiple projections
Dimensioning, scales, lines and multiple projectionsDimensioning, scales, lines and multiple projections
Dimensioning, scales, lines and multiple projections
 

Último

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobeapidays
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FMESafe Software
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationRadu Cotescu
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyKhushali Kathiriya
 
🐬 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
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024SynarionITSolutions
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsJoaquim Jorge
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherRemote DBA Services
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024The Digital Insurer
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUK Journal
 
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
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProduct Anonymous
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processorsdebabhi2
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationSafe Software
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoffsammart93
 
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
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAndrey Devyatkin
 

Último (20)

Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
 
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
 
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers:  A Deep Dive into Serverless Spatial Data and FMECloud Frontiers:  A Deep Dive into Serverless Spatial Data and FME
Cloud Frontiers: A Deep Dive into Serverless Spatial Data and FME
 
Scaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organizationScaling API-first – The story of a global engineering organization
Scaling API-first – The story of a global engineering organization
 
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
 
Artificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : UncertaintyArtificial Intelligence Chap.5 : Uncertainty
Artificial Intelligence Chap.5 : Uncertainty
 
🐬 The future of MySQL is Postgres 🐘
🐬  The future of MySQL is Postgres   🐘🐬  The future of MySQL is Postgres   🐘
🐬 The future of MySQL is Postgres 🐘
 
Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024Top 10 Most Downloaded Games on Play Store in 2024
Top 10 Most Downloaded Games on Play Store in 2024
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
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...
 
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemkeProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
ProductAnonymous-April2024-WinProductDiscovery-MelissaKlemke
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
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...
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 

Silhouettes and Outlines

  • 2. Objective ● To obtain outlines and silhouettes from each individual object in real time using various techniques.
  • 3. Outlines in Image Space ● ● A simple way to generate outlines would be to render the scene from a desired point of view, detect the edges in the image and then display them. However, the edges of a photograph do not typically correspond to the silhouettes that we want to illustrate. For instance highly textured surfaces will generate edges irrelevant to the objects shape and further more no edge would be detected between two overlapping objects with the same color
  • 4. Depth Map ● ● ● A better way to generate silhouettes is to render the image, extract the depth map and apply an edge detection to that map. The idea is that the variation in depth between adjacent pixels is usually small while the variation between objects is large. The problem is that the depth map does not detect boundaries between objects that are at the same depth, nor does it detect creases
  • 5. Normal Map ● ● ● We can augment the silhouette edges computed with the depth map by using surface normals as well. The surface normals will detect changes in surface orientation i.e. give us what depth can't So we apply an edge detection algorithm to our normal map and combine it with our depth map to produce our silhouette edge.
  • 6. Depth and Normal Map Depth Normal Depth+ Normal
  • 7. What is a Silhouette ● ● Concerning polygonal meshes, the silhouette consists of all edges that connect back-facing polygons to front-facing polygons. For smooth surfaces it can be defined as the surface points with a surface normal perpendicular to the view vector.
  • 8. Smooth Surfaces ● ● The first step in finding the silhouette of a smooth surface, in our case one that is defined by a triangular mesh, it to compute the normalized dot product of the normal of the mesh at every vertex with the view vector. We are also interested in the sign of the dot product.
  • 9. Smooth Surfaces ● ● Recalling our goal is to find and noting that since both the view vector and surface normal are continuous over the surface their dot product must be as well. We can determine the point where a silhouette lies by observing a change in signs over a vertex. I.E. between points and if We can approximate the silhouette point by linearly interpolating between the two vertecies:
  • 10. Smooth Surfaces ● ● ● Finally we can connect the silhouette points into a silhouette curve. We do this by observing sign changes between a triangles vertecies. If one of the three vertecies has a different sign then the others we can compute the silhouette point on the two sides with opposites signs and connect those points with a line segment. We do this for every triangle with a sign change and connect the line segments that share an endpoint and this produces a piecewise linear approximation of the silhouettes of a smooth surface.
  • 12. Visibility ● ● Now we just need to determine which portions of our curve is visible. There are three situations where the visibility of a surface curve can change. 1) It passes under a silhouette, boundary or crease in the image plane. 2) It intersects a silhouette, crease, or self intersection curve on the surface. 3) It is a silhouette or boundary and has a cusp.
  • 13. Visibility ● ● The basic algorithm is to break all curves at potential changes in visibility, producing a new set of curves. We then determine which of these new sets of curves are visible are not by casting a ray from the view vector. If the ray intersects any surfaces before the curve, then the curve is invisible.

Notas del editor

  1. {}