Table Of ContentFAST AND ACCURATE VISIBILITY PREPROCESSING
A DISSERTATION
SUBMITTED TO THE DEPARTMENT OF COMPUTER SCIENCE,
FACULTY OF SCIENCE
AT THE UNIVERSITY OF CAPE TOWN
IN FULFILLMENT OF THE REQUIREMENTS
FOR THE DEGREE OF
DOCTOR OF PHILOSOPHY
By
ShaunNirenstein
October2003
Supervisedby
E.H.Blake
(cid:1)c Copyright 2003
by
Shaun Nirenstein
ii
ThisthesisisdedicatedtomyfatherIssadoreNirenstein,mymotherRosanneNirensteinandtothe
memoriesofJackNirensteinandSidneySapire.
iii
Abstract
Visibilitycullingisameansofacceleratingthegraphicalrenderingofgeometricmodels. Invisible
objects are efficiently culled to prevent their submission to the standard graphics pipeline. It is
advantageoustopreprocessscenesinordertodetermineinvisibleobjectsfromallpossiblecamera
views. Thisinformationistypicallysavedtodiskandmaythenbereuseduntilthemodelgeometry
changes. Suchpreprocessingalgorithmsarethereforeusedforscenesthatareprimarilystatic.
Currently, the standard approach to visibility preprocessing algorithms is to use a form of ap-
proximatesolution,knownasconservativeculling. Suchalgorithmsover-estimatethesetofvisible
polygons. This compromise has been considered necessary in order to perform visibility prepro-
cessingquickly. Thesealgorithmsattempttosatisfythegoalsofbothrapidpreprocessingandrapid
run-timerendering.
We observe, however, that there is a need for algorithms with superior performance in prepro-
cessing, as well as for algorithms that are more accurate. For most applications these features are
notrequiredsimultaneously. Inthisthesiswepresenttwonovelvisibilitypreprocessingalgorithms,
eachofwhichisstronglybiasedtowardoneoftheserequirements.
Thefirstalgorithmhastheadvantageofperformance. Itexecutesquicklybyexploitinggraph-
ics hardware. The algorithm also has the features of output sensitivity (to what is visible), and a
logarithmicdependencyinthesizeofthecameraspacepartition. Theseadvantagescomeatthecost
of image error. We present a heuristic guided adaptive sampling methodology that minimises this
error. Wefurthershowhowthisalgorithmmaybeparallelisedandalsopresentanaturalextension
ofthealgorithmtofivedimensionsforacceleratinggeneralisedrayshooting.
The second algorithm has the advantage of accuracy. No over-estimation is performed, nor
are any sacrifices made in terms of image quality. The cost is primarily that of time. Despite the
relatively long computation, the algorithm is still tractable and on average scales slightly super-
linearlywiththeinputsize. Thisalgorithmalsohastheadvantageofoutputsensitivity. Thisisthe
firstknowntractableexactsolutiontothegeneral3Dfrom-regionvisibilityproblem.
iv
In order to solve the exact from-region visibility problem, we had to first solve a more general
form of the standard stabbing problem. An efficient solution to this problem is presented indepen-
dently.
v
Acknowledgements
Iwouldliketothankmysupervisor,ProfessorEdwinBlake. Withouthisunrelentingconfidencein
myabilitiesandhisguidance,mylifewouldhavetakenaverydifferenttrack. Ialsowishtothank
Dr. JamesGainfortheimmenseamountoffeedbackIreceivedwhilewritingthisthesis. Icanonly
hopetoachievehisstandardsofexcellence.
IwouldalsoliketothanktheNationalResearchFoundationforfundingmyresearch.
I am indebted to my students, Adrian Sharpe and Matthew Hampton, who performed the im-
plementation and evaluation of the accelerated ray-tracer/preprocessor (see Section 4.4), and con-
tributedseveralkeyideas. Iwouldalsoliketoextendmygratitudetomystudents,JohnLewisand
GaryOberholster,whoimplementedtheparallelpreprocessoroutlinedinSection4.5.
Iamgratefultoallthosewhohavegiveninputovertheyears. Thisincludes(inroughlychrono-
logical order) Gerhard van Wagenin, Nicholas Holzschuch, Ashton Mason, Fabian Nunez, Patrick
Marais, Yiorgos Chysanthou, Henri Laurie, Rudi Penneand JiriBittner. Iwouldalso liketo thank
the crew at EM Software and Systems for the opportunity to work at such a dynamic company. In
particular,Iwouldliketothankthemfortheunderstandingshownwhilethisthesiswascompleted.
IalsothankallmembersoftheCVClab,fortheopportunitytoworkwithsuchanincrediblegroup
ofpeople.
Iwouldliketothankmygrandparents,MyerandThelmaSaker,forprovidingmewithendless
inspiration and valuable advice. I wish to thank my parents, Issy and Rosanne, my brother Grant,
Hilton and Leonie Saker, and Margaret and Bradley Bouwer for their encouragement, emotional
support and inspiration. Last, and certainly not least, I would like to thank my beautiful wife
Athena. Throughher,Ifindmyselftrulyalive.
vi
Preface
Weadheretocertainconventionswithinthisdissertation. Ingeneral,vectorsarecappedwitharrows
(e.g.,(cid:1)a),points,coordinatecomponentsandintegersarereferencedbythelowercaselettersofthe
standardEnglishalphabet(e.g.,a). Differentiationbetweenpointsandintegersshouldbeclearfrom
the context. Sets are denoted by the upper case letters of the standard English alphabet (e.g., A).
ScalarsarerepresentedbylowercaseGreekletters(e.g.,α). Thenotationforpolyhedramayvary,
dependingonwhethertheyaretreatedassetsofpointsexplicitly(e.g.,... ∈ P),oraselementsof
asetthemselves(e.g.,p ∈ ...). Otherparticularsaredefinedincontext.
All proofs that we consider interesting, yet non-essential are included in Appendix A for the
reader.
vii
Contents
Abstract iv
Acknowledgements vi
Preface vii
1 Introduction 1
1.1 Approach . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4
1.2 Contributions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.1 AggressiveTechniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
1.2.2 SelectiveStabbing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 6
1.2.3 ExactTechniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
1.3 Overview . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 7
2 Background 9
2.1 From-pointvs. From-regionVisibility . . . . . . . . . . . . . . . . . . . . . . . . 9
2.1.1 Accuracy . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.1.2 TimeBoundedVisibility . . . . . . . . . . . . . . . . . . . . . . . . . . . 10
2.2 From-pointVisibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.1 ShadowFrustaCulling . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11
2.2.2 AnIncrementalAspectGraphApproximation . . . . . . . . . . . . . . . . 13
2.2.3 OccluderTrees . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
2.2.4 OcclusionMaps . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
2.2.5 Summary . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 17
2.3 From-regionVisibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18
2.3.1 From-RegionVisibilityasaLightSource . . . . . . . . . . . . . . . . . . 18
viii
2.3.2 StrongOccluders . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3.3 Cell-PortalVisibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19
2.3.4 ExtendedProjections . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
2.3.5 VolumetricVisibility . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 23
2.3.6 SamplingTechniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.7 5DSpatialSubdivision . . . . . . . . . . . . . . . . . . . . . . . . . . . . 25
2.3.8 Hoops . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2.3.9 TemporalBoundingVolumes. . . . . . . . . . . . . . . . . . . . . . . . . 26
1
2.3.10 2 D VisibilitySolutions . . . . . . . . . . . . . . . . . . . . . . . . . . . 26
2
2.4 RaySpaceFactorisation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 27
2.5 AnalyticVisibilityTechniques . . . . . . . . . . . . . . . . . . . . . . . . . . . . 28
2.5.1 IsotopyClassesandArrangements . . . . . . . . . . . . . . . . . . . . . . 28
2.5.2 VisibilityEvents . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
2.5.3 TheVisibilityComplex . . . . . . . . . . . . . . . . . . . . . . . . . . . . 31
2.5.4 TheVisibilitySkeleton . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.5 TheAspectGraph . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32
2.5.6 PolygonStabbingandAnti-penumbraComputation . . . . . . . . . . . . . 33
2.5.7 DiscontinuityMeshing . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34
2.5.8 AnalyticVisibilityinPractice . . . . . . . . . . . . . . . . . . . . . . . . 35
2.6 CompressionofVisibilityInformation . . . . . . . . . . . . . . . . . . . . . . . . 36
3 GeometricPreliminaries 38
3.1 ProjectiveSpaces . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.1 TheClassicProjectivePlane . . . . . . . . . . . . . . . . . . . . . . . . . 38
3.1.2 OrientedProjectiveGeometry . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.3 ddimensionalProjectiveSpaces . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.4 ProjectiveDuality . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40
3.1.5 Plu¨ckerspace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
3.2 d-DimensionalPolytopeRepresentation . . . . . . . . . . . . . . . . . . . . . . . 43
3.2.1 TheFaceLattice . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.2.2 FaceEnumeration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 45
3.3 SplittingaPolytopeComplexindDimensions. . . . . . . . . . . . . . . . . . . . 46
3.4 Arrangements . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 49
ix
3.5 Miscellaneous . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 50
3.5.1 TheGeneralisedCrossProduct . . . . . . . . . . . . . . . . . . . . . . . . 50
3.5.2 DeterminingtheLinesThroughFourLines . . . . . . . . . . . . . . . . . 51
4 AggressiveVisibilityPreprocessing 53
4.1 VisibilityFromaSurface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.1.1 TheVisibilityCube . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
4.1.2 UniformSampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.1.3 AdaptiveSampling . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 57
4.2 AlgorithmFramework . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2.1 VisibilityFromaVolumetricRegion . . . . . . . . . . . . . . . . . . . . . 61
4.2.2 HierarchicalSubdivision . . . . . . . . . . . . . . . . . . . . . . . . . . . 61
4.2.3 AlgorithmAnalysis . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 65
4.3 Results. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.3.1 Performance . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
4.3.2 Error . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71
4.4 PreprocessingRaySpace . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 76
4.4.1 BriefBackground . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 77
4.4.2 5DPre-processing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 78
4.4.3 PreliminaryResults . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 85
4.4.4 Conclusion(5DSubdivision) . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.5 ParallelisingHardwareAcceleratedVisibility . . . . . . . . . . . . . . . . . . . . 88
4.6 HardwareExtensions . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.6.1 AcceleratingRendering . . . . . . . . . . . . . . . . . . . . . . . . . . . 88
4.6.2 AcceleratingBufferFeedback . . . . . . . . . . . . . . . . . . . . . . . . 89
4.7 Conclusion . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 89
5 TheSelectiveStabbingProblem 91
5.1 Phase1: ConstructingtheSetofStabbingLines . . . . . . . . . . . . . . . . . . . 93
5.1.1 ComputingtheSetofStabbingLinesfor|S| > 2 . . . . . . . . . . . . . . 93
5.1.2 UnboundednessintheSetofLinesThroughOnePolygon . . . . . . . . . 96
5.2 TheSetofLinesThoughTwoPolygons . . . . . . . . . . . . . . . . . . . . . . . 96
5.2.1 ProofOutline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 96
5.2.2 Details . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 97
x
Description:for occlusion queries in opengl. Opengl-assisted occlusion culling .. [NFLYCO99] Boaz Nadler, Gadi Fibich, Shuly Lev-Yehudi, and Daniel