introduction to 3d graphics lecture 5: from realism to real-time anthony steed university college...
TRANSCRIPT
![Page 1: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/1.jpg)
Introduction to 3D GraphicsIntroduction to 3D Graphics
Lecture 5: From Realism to Lecture 5: From Realism to Real-TimeReal-Time
Anthony SteedAnthony Steed
University College LondonUniversity College London
![Page 2: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/2.jpg)
OverviewOverview
ProjectingProjecting– As an optimisation of ray-castingAs an optimisation of ray-casting– New issues and problemsNew issues and problems
Clipping PolygonsClipping Polygons– 2D2D– 3D3D
Visibility CullingVisibility Culling
![Page 3: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/3.jpg)
Reflection on Ray CastingReflection on Ray Casting
The process of casting rays is very The process of casting rays is very slowslow– E.G. for a cow we have 10,000 triangles, E.G. for a cow we have 10,000 triangles,
but to render a 1000x1000 pixel image but to render a 1000x1000 pixel image we have 10000000 primary rays to cast we have 10000000 primary rays to cast (and then reflections, shadow rays, etc…)(and then reflections, shadow rays, etc…)
Exploit point coherencyExploit point coherency– If ray through pixel (x,y) hits triangle T, If ray through pixel (x,y) hits triangle T,
then rays through adjacent pixels will then rays through adjacent pixels will likely hit the same trianglelikely hit the same triangle
![Page 4: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/4.jpg)
Think OptimisationThink Optimisation
But although point coherency is But although point coherency is useful, we can easily enumerate useful, we can easily enumerate ALL the rays that hit the triangleALL the rays that hit the triangle– Find which rays would hit the vertices Find which rays would hit the vertices
of the triangleof the triangle– These rays are defined by a 2D These rays are defined by a 2D
triangle on the image planetriangle on the image plane– Scan this 2D triangle outScan this 2D triangle out
![Page 5: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/5.jpg)
COP
![Page 6: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/6.jpg)
Why Triangles?Why Triangles?
In general for an object In general for an object representation (bezier, CSG) is it representation (bezier, CSG) is it far from easy to find the 2D far from easy to find the 2D projection of the shapeprojection of the shape
![Page 7: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/7.jpg)
Projection Problems (1)Projection Problems (1)
Projecting the verticesProjecting the vertices– Needs to be done efficientlyNeeds to be done efficiently
Clipping to the view volumeClipping to the view volume– Triangle might lie partially or totally Triangle might lie partially or totally
off the screenoff the screen Visible surface determinationVisible surface determination
– We now have to iterate through all We now have to iterate through all the objects to see if they are visible.the objects to see if they are visible.
![Page 8: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/8.jpg)
Projection Problems (2)Projection Problems (2)
LightingLighting– Now we have to re-construct the Now we have to re-construct the
lighting across the screenlighting across the screen Depth test determinationDepth test determination
– Have to cope with overlapping and Have to cope with overlapping and potential “difficult” coverage relationspotential “difficult” coverage relations
Shadows and Inter-ReflectionsShadows and Inter-Reflections– Much more complicated Much more complicated
![Page 9: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/9.jpg)
Full camera specificationFull camera specification
We have already seen:We have already seen:– VRP, VPN, VUV, COP, view plane VRP, VPN, VUV, COP, view plane
windowwindow Some more parameters:Some more parameters:
– Viewplane DistanceViewplane Distance– Type of projection Type of projection
Perspective – all rays converge to the COPPerspective – all rays converge to the COP Parallel – parallel rays from points in the Parallel – parallel rays from points in the
scene (DOP)scene (DOP) Front and back clip planesFront and back clip planes
![Page 10: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/10.jpg)
Full CameraFull CameraV
NVRP=O
COP
VP
truncated View Volume
view window
fron
t cli
ppin
g pl
ane
back
cli
ppin
g pl
ane
![Page 11: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/11.jpg)
Perspective ProjectionPerspective Projection
In order to get a natural looking In order to get a natural looking image we need the perspectiveimage we need the perspective
For a simple arrangement it is easy For a simple arrangement it is easy to find the projectionto find the projection
COP
C
QP
AO
viewplane
Z
Y
![Page 12: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/12.jpg)
Canonical FramesCanonical Frames We use these as intermediate stages We use these as intermediate stages
from which we know how to proceedfrom which we know how to proceed
Canonical Perspective: Canonical Perspective: – Cop at (0,0,-1)Cop at (0,0,-1)– Viewplane coincident Viewplane coincident
with U-V planewith U-V plane– Viewplane window Viewplane window
bounded by –1 to +1bounded by –1 to +1– p’ = (x/z+1, y/z+1, 0)p’ = (x/z+1, y/z+1, 0)
View volume
![Page 13: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/13.jpg)
Canonical ParallelCanonical Parallel Orthographic parallel projectionOrthographic parallel projection Direction of projection (DOP) is (0,0,-1)Direction of projection (DOP) is (0,0,-1) View volume bounded by –1 and +1 on U and VView volume bounded by –1 and +1 on U and V And by 0 and 1 on the N axisAnd by 0 and 1 on the N axis p’ = (x, y, 0)p’ = (x, y, 0)
V
+
DOP
View volume
![Page 14: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/14.jpg)
From General Perspective to From General Perspective to Canonical Parallel (Projection Canonical Parallel (Projection
Space)Space)
+
![Page 15: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/15.jpg)
Perspective to Canonical Perspective to Canonical PerspectivePerspective
We will apply a set of We will apply a set of transformation matrices (4 in total)transformation matrices (4 in total)
Each one ‘corrects’ a particular Each one ‘corrects’ a particular aspect of the projectionaspect of the projection
Then we put them all together to Then we put them all together to get one matrixget one matrix
![Page 16: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/16.jpg)
Step 1: Move the View Step 1: Move the View Plane to the UV Plane (n = Plane to the UV Plane (n =
0)0)
000
0100
0010
0001
d
cop
Viewplane
d cop
V
N
Viewplane
V
N
![Page 17: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/17.jpg)
Step 2: Translate the COP Step 2: Translate the COP so that it Lies on the N so that it Lies on the N
axisaxis
Viewplane
V
N
Viewplane
V
N
cop
cop
10
0100
0010
0001
yx cc
![Page 18: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/18.jpg)
Step 3: Change the View Step 3: Change the View Volume into a Regular Volume into a Regular
PyramidPyramid
N
Viewplane
V
Ncop
V
copD
D
10
01
0020
0002
DdypyDdx
pxdy
pydx
pxdy
Ddx
D WhereD = d – cz
dx = x2 – x1
dy = y2 – y1
px = x2 + x1
py = y2 + y1
![Page 19: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/19.jpg)
Step 4: Scale by 1/DStep 4: Scale by 1/D
N
V
cop1
1
N
V
copD
D
0000
0100
0010
0001
D
D
D
![Page 20: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/20.jpg)
Multiplying Steps 1-4Multiplying Steps 1-4
11212
0111
002
0
0002
D
d
dy
py
Ddycc
dx
px
Ddxc
DDdypy
Ddx
pxdx
dx
yzx
![Page 21: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/21.jpg)
Canonical Perspective To Canonical Perspective To Canonical ParallelCanonical Parallel
Projection spaceProjection space– Divide through by ZDivide through by Z
Incorporation of front and back Incorporation of front and back clipping planes (canonical parallel)clipping planes (canonical parallel)
+
Dmin Dmax
+
01
![Page 22: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/22.jpg)
Projection SpaceProjection Space
A use for the right hand column!A use for the right hand column!– x maps to x/z+1x maps to x/z+1
1000
1100
0010
0001
![Page 23: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/23.jpg)
Incorporate Front and Back Incorporate Front and Back Clipping PlanesClipping Planes
(Actually this step occurs before (Actually this step occurs before the previous one)the previous one)
1minmax
)1max.(min00
1minmax
1max00
0010
0001
DD
DDDD
D
![Page 24: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/24.jpg)
The composite matrix T = The composite matrix T = MQMQ
2u1D-n1(px)
Ddx
2v1D-n1(py)
Ddy
n1
D 0
2u2D-n2(px)
Ddx
2v2D-n2(py)
Ddy
n2
D 0
2u3D-n3(px)
Ddx
2v3D-n3(py)
Ddy
n3
D 0
-2(qu)D-(qn)(px) + 2cxD-(px)cz
Ddx -2(qv)D-(qn)(py) + 2cyD-(py)cz
Ddy -(qn)+d
D 1
![Page 25: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/25.jpg)
OverviewOverview
ProjectingProjecting– As an optimisation of ray-castingAs an optimisation of ray-casting– New issues and problemsNew issues and problems
Clipping PolygonsClipping Polygons– 2D2D– 3D3D
Visibility CullingVisibility Culling
![Page 26: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/26.jpg)
Clipping ProblemClipping Problem
Once we start projecting polygons Once we start projecting polygons we have to cope with cases where we have to cope with cases where only some of the vertices project to only some of the vertices project to the view windowthe view window
![Page 27: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/27.jpg)
Sutherland-Hodgman Sutherland-Hodgman Algorithm(2D)Algorithm(2D)
Clip the polygon Clip the polygon against each against each boundary of the clip boundary of the clip region successivelyregion successively
Result is possibly NUL Result is possibly NUL if polygon is outsideif polygon is outside
Can be generalised to Can be generalised to work for any work for any polygonal clip region, polygonal clip region, not just rectangularnot just rectangular
Clip to top
Clip toright
etc
![Page 28: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/28.jpg)
Clipping to a Region Clipping to a Region BoundaryBoundary
To find the new To find the new polygon polygon – iterate through each iterate through each
of the polygon edges of the polygon edges and construct a new and construct a new sequence of pointssequence of points
– starting with an starting with an empty sequenceempty sequence
– for each edge there for each edge there are 4 possible cases are 4 possible cases to considerto consider
clip region
right clipboundary
P0
P1
P2
P3
![Page 29: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/29.jpg)
Clipping the Polygon EdgeClipping the Polygon Edge
Given an edge Given an edge PP00,P,P11 we we have 4 case. It can be:have 4 case. It can be:– entering the clip region, entering the clip region,
add add PP and and PP11
– leaving the region, add leaving the region, add only only PP
– entirely outside, do entirely outside, do nothingnothing
– entirely inside, add only entirely inside, add only P1P1 Where Where PP is the point of is the point of
intersectionintersection
Visible side of
boundary
p0
p1
p0
p0
p0
p1
p1
p1
p
p
OUT IN
![Page 30: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/30.jpg)
Wrapping UpWrapping Up
We can determine which of the 4 cases and also We can determine which of the 4 cases and also the point of intersection with just if statementsthe point of intersection with just if statements
To sum it up, an example:To sum it up, an example:
P0
P1 P2
P3P0
Pa Pb
P3
![Page 31: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/31.jpg)
Weiler-Atherton AlgorithmWeiler-Atherton Algorithm
When we have non-convex polygons When we have non-convex polygons then the algorithm above might then the algorithm above might produce polygons with coincident produce polygons with coincident edgesedges
This is fine for rendering but maybe This is fine for rendering but maybe not for other applications (eg shadows)not for other applications (eg shadows)
The Weiler-Atherton algorithm The Weiler-Atherton algorithm produces separate polygons for each produces separate polygons for each visible fragmentvisible fragment
![Page 32: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/32.jpg)
Weiler-Atherton AlgorithmWeiler-Atherton Algorithm
1
2
3
5
4
6
8
7
9
0
a
b
c
d
a b
cd
0
1
2
34
56
78
9
A
B
i j
k
l
clip region
polygon
loop of polygon vertices
loop of region vertices
![Page 33: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/33.jpg)
After Inserting the first After Inserting the first Intersection Vertex iIntersection Vertex i
a
b
c
d
i
l
k
j
1
2
3
5
4
6
8
7
9
0
a b
cd
0
1
2
34
56
78
9
A
B
i j
k
l
clip region
polygon
![Page 34: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/34.jpg)
After Insertion of all After Insertion of all Intersection VerticesIntersection Vertices
1
2
3
5
4
6
8
7
9
0
a
b
c
d
i
l
k
j
a b
cd
0
1
2
34
56
78
9
A
B
i j
k
l
clip region
polygon
![Page 35: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/35.jpg)
Collect Your PolygonsCollect Your Polygons
Traverse the vertex list from the Traverse the vertex list from the toptop
When the intersection point is an When the intersection point is an exit switch to traversing the clip exit switch to traversing the clip boundaryboundary
When the intersection point is an When the intersection point is an entry switch to traversing the entry switch to traversing the polygon verticespolygon vertices
![Page 36: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/36.jpg)
Clipping polygons in 3DClipping polygons in 3D
The Sutherland-Hodgman can The Sutherland-Hodgman can easily be extended to 3Deasily be extended to 3D– the clipping boundaries are 6 planes the clipping boundaries are 6 planes
instead of 4 linesinstead of 4 lines– intersection calculation is done by intersection calculation is done by
comparing an edge to a plane instead comparing an edge to a plane instead of edge to edgeof edge to edge
It can either be done in Projection It can either be done in Projection Space or in Canonical PerspectiveSpace or in Canonical Perspective
![Page 37: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/37.jpg)
Clipping in Projection Clipping in Projection SpaceSpace
The view volume is defined by:The view volume is defined by:11 x
11 y
11 z
![Page 38: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/38.jpg)
Clipping in Canonical Clipping in Canonical PerspectivePerspective
When we have an When we have an edge that extends edge that extends from the front to from the front to behind the COP, behind the COP, then if we perform then if we perform the clipping after the clipping after the projection of the projection of the points (which in the points (which in effect is what the effect is what the PS does) we might PS does) we might get wrong resultsget wrong results
V
N
+1
-1
COPO
p1
p2
q1
q2
top
bottom
View plane
projected external lines
![Page 39: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/39.jpg)
Clipping in Homogeneous Clipping in Homogeneous Co-OrdinatesCo-Ordinates
The Sutherland-Hodgman can also The Sutherland-Hodgman can also be used for clipping in 4D before be used for clipping in 4D before dividing the points by the dividing the points by the ww
This can have the advantage that This can have the advantage that is even more general, it even is even more general, it even allows for the front clip plane to be allows for the front clip plane to be behind the COPbehind the COP
![Page 40: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/40.jpg)
OverviewOverview
ProjectingProjecting– As an optimisation of ray-castingAs an optimisation of ray-casting– New issues and problemsNew issues and problems
Clipping PolygonsClipping Polygons– 2D2D– 3D3D
Visibility CullingVisibility Culling
![Page 41: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/41.jpg)
Visibility ProblemVisibility Problem
Not all objects are visibleNot all objects are visible– In ray-tracing only rays inside the view In ray-tracing only rays inside the view
frustum could be createdfrustum could be created Not all polygons are visibleNot all polygons are visible
– Visibility “solved” by default by ray-tracing Visibility “solved” by default by ray-tracing because of object intersection test because of object intersection test
Visibility ordering is a problemVisibility ordering is a problem– Ray-tracing “solved” this problem implicitly Ray-tracing “solved” this problem implicitly
because closest ray intersection point was because closest ray intersection point was chosenchosen
![Page 42: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/42.jpg)
Object CullingObject Culling
Any object outside the view frustum can be Any object outside the view frustum can be discardeddiscarded– Bounding sphere/plane test is commonBounding sphere/plane test is common
Remaining objects must be sent to clipping Remaining objects must be sent to clipping processprocess
![Page 43: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/43.jpg)
Back Face CullingBack Face Culling
Polygons facing away from the Polygons facing away from the COP can be discarded COP can be discarded – Often over-ridden to model thin Often over-ridden to model thin
walled objectswalled objects
COP
![Page 44: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/44.jpg)
List Priority AlgorithmsList Priority Algorithms
Must sort the objects (or polygons or pixels)Must sort the objects (or polygons or pixels)
Commonest approach is to sort the objects Commonest approach is to sort the objects on their distance from the COP (z-sort)on their distance from the COP (z-sort)
![Page 45: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/45.jpg)
Order of PolygonsOrder of Polygons
For a single closed polyhedron ANY For a single closed polyhedron ANY order of polygon drawing is correctorder of polygon drawing is correct
With multiple overlapping objects With multiple overlapping objects z-sort the individual polygons z-sort the individual polygons – Special cases galore!Special cases galore!
In general these techniques are In general these techniques are not sufficient, and we will buffer not sufficient, and we will buffer individual pixels with a z-bufferindividual pixels with a z-buffer
![Page 46: Introduction to 3D Graphics Lecture 5: From Realism to Real-Time Anthony Steed University College London](https://reader035.vdocuments.net/reader035/viewer/2022062320/56649d015503460f949d4077/html5/thumbnails/46.jpg)
ConclusionConclusion
We have moved a considerable We have moved a considerable way from realism to real-timeway from realism to real-time– Reduced a 3D problems to a 2D Reduced a 3D problems to a 2D
problem (via a 4D problem!)problem (via a 4D problem!) Remaining issuesRemaining issues
– Filling polygons to cope with local Filling polygons to cope with local illumination and visibilityillumination and visibility