online occlusion culling -...

25
Online Occlusion Culling Studienarbeit Florian Schoppmann Betreuer: Dr. Christian Sohler Fachgruppe Algorithmen und Komplexität Fakultät für Elektrotechnik, Mathematik und Informatik Universität Paderborn 19. Januar 2005 Universität Paderborn · Florian Schoppmann 19.01.2005 · 1 / 23

Upload: hathuan

Post on 17-Aug-2019

220 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Online Occlusion CullingStudienarbeit

Florian Schoppmann

Betreuer: Dr. Christian Sohler

Fachgruppe Algorithmen und KomplexitätFakultät für Elektrotechnik, Mathematik und Informatik

Universität Paderborn

19. Januar 2005

Universität Paderborn · Florian Schoppmann 19.01.2005 · 1 / 23

Page 2: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

MotivationI Computergrafik: Effizientes Darstellen dreidimensionaler

SzenenI Objekte zusammengesetzt aus PrimitivenI Occlusion Culling: Aussortieren nicht sichtbarer Objekte→ Entlastung der Rendering-Pipeline

Objekt-beschreibung

Trans-formation

Clipping u. Culling

Rasterung, Schattierung

Pixel

Annahme für Culling-Verfahren:I Ohne Einfluss auf RenderingI Kein direkter Zugriff auf Datenstrukturen der Szene→ Zwischenspeicher beschränkter Größe

I Aussortierung bei Verdeckung durch Objekt imZwischenspeicher

Universität Paderborn · Florian Schoppmann 19.01.2005 · 2 / 23

Page 3: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Problemstellung

I Culling-Algorithmus erhält Objekte der Reihe nachI Bei Ankunft eines Objektes:

1. Verdeckung (durch Zwischenspeicher) → Verwerfen2. Keine Verdeckung → Zeichnen

optional: in Zwischenspeicher, wenn voll: Verdrängung einesanderen Objektes

Offline-Problem:I Culling-Algorithmus kennt

EingabeI Verdrängungsstrategie: Stets

das am wenigsten nützlicheObjekt

Online-Problem:I Culling-Algorithmus ohne

Kenntnis noch folgenderObjekte

I Welche Objekte imZwischenspeicher bringenden meisten Nutzen?

Universität Paderborn · Florian Schoppmann 19.01.2005 · 3 / 23

Page 4: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Gliederung

Das formale ModellGrundbegriffeBewertung von Online-Algorithmen

Schranken im Modell mit unbeschränktem ZwischenspeicherSpezielle AnordnungenDer zufällig gleichverteilte FallApproximation

Schranken im Modell mit beschränktem Zwischenspeicher

Komplexität des Culling-ProblemsDas Optimierungsproblem KnotenaussortierungKomplexität von KnotenaussortierungEnt

Universität Paderborn · Florian Schoppmann 19.01.2005 · 4 / 23

Page 5: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Das Modell

Üblich: An die Fotografieangelehntes Modell

Projektionsfläche(Bildebene)

ProjektionszentrumProjektionsgeraden

Bildebene beiLochkamera

In dieser Arbeit:Zweidimensionale Modellierung

Projektionszentrum

Projektions-kreis

Projektions-bogen

Kugel kiProjektionsgeraden

Szene (informelle Definition):I Menge von Kugeln {k1, . . . , kn} im R2, wobei ki MittelpunkteI Eine Kugel ki verdeckt kj , wenn Projektionsbogen von ki den

von kj echt „überlappt“. Symbolisch: ki � kj

I Abstand einer Kugel ki vom Projektionszentrum: rad ki

Universität Paderborn · Florian Schoppmann 19.01.2005 · 5 / 23

Page 6: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Bewertung von Online-Algorithmen

Competitive Ratio: inf{γ | ALG[I ] ≤ γ · OPT[I ] + α für alle I ∈ I}Problem:

I Online Culling-Algorithmenmit konstant großemZwischenspeicher nieo(n)-competitiveEingabe:

I Zwischenspeicher-Größe cI Kugeln und Reihenfolge

wie rechts

I OBdA wird nach (c + 1)-terKugel die dritte ausZwischenspeicher verdrängt

I Offline-Algorithmus hätteandere Kugeln verdrängt

(c + 1)-te Kugel

Projektionszentrum

Reihenfolge

Universität Paderborn · Florian Schoppmann 19.01.2005 · 6 / 23

Page 7: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Erweiterung der Competitive Analysis

Ergebnis:I Kostenverhältnis von Online- zu Offline-Algorithmus bei

einzelner beliebig gewählter Eingabe unbeschränktI Sogar wenn Offline-Algorithmus nur mit Zwischenspeicher der

Größe 1I Auch bei Randomisierung / unterschiedlichen Ressourcen

Koutsoupias & Papadimitriou (2000): Alternative, in der Praxisrealistischere Bewertung von Online-Algorithmen:

inf{

γ | ED [ALG[I ]] ≤ γ · ED [OPT[I ]] + αfür alle D ∈ ∆,I ZG mit I ∼ D

}∆: Klasse von erlaubten Eingabeverteilungen

In dieser Arbeit: ∆ enthält nur Gleichverteilung

Universität Paderborn · Florian Schoppmann 19.01.2005 · 7 / 23

Page 8: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Gliederung

Das formale ModellGrundbegriffeBewertung von Online-Algorithmen

Schranken im Modell mit unbeschränktem ZwischenspeicherSpezielle AnordnungenDer zufällig gleichverteilte FallApproximation

Schranken im Modell mit beschränktem Zwischenspeicher

Komplexität des Culling-ProblemsDas Optimierungsproblem KnotenaussortierungKomplexität von KnotenaussortierungEnt

Universität Paderborn · Florian Schoppmann 19.01.2005 · 8 / 23

Page 9: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Unbeschränkter Zwischenspeicher

Optimal: Aufnahme jedes Objektes in den Zwischenspeicher

Beispiele:Ki jeweils Indikatorzufallsgröße, dass ki gezeichnet werden muss

I Feste Anordnung, zufällige Reihenfolge:Pr[Ki = 1] = 1

j+1 , wobei j Anzahl der Kugeln, die ki verdeckenI n Kugeln auf einer Projektionslinie, zufällige Reihenfolge:

n Kugeln Projektionszentrum

Erwartete Anzahl gezeichneter Objekte insgesamt:

n∑i=1

E[Ki ] =n∑

i=1

Pr[Ki = 1] =n∑

i=1

1i

= Hn = Θ(ln n)

Universität Paderborn · Florian Schoppmann 19.01.2005 · 9 / 23

Page 10: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Zufällige Anordnungen

Kugeln zufällig gleichverteilt in (1, r ]•, Reihenfolgezufällig gleichverteilt

R Zufallsgröße für Abstand einer beliebigen Kugelvom Projektionszentrum. F (x) := FR(x):

F (x) =

0 für x ≤ 1π(x2−1)π(r2−1)

= x2−1r2−1 für 1 < x < r

1 für x ≥ r

I Exakte Berechnung prinzipiell möglich, aberkaum handhabbar

I Wahrscheinlichkeit für ki � kj vonungünstiger Gestalt (Zähler rot markiert,Nenner wäre πr2 − 1)

1 r

(1,r]●

r

Projektionskreis mit Radius 1

Kugel ki

Kugel kj

Universität Paderborn · Florian Schoppmann 19.01.2005 · 10 / 23

Page 11: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Abschätzung

Idee:I Einteilung eines Kranzes

um den Projektionskreis in„Boxen“

I Dabei: In jeder Box eineKugel ⇒ ∃s : jede Kugel kimit rad ki ≥ s wird verdeckt

t

s(t,a)

a

„Boxen“

Problem: Wie Parameter t und awählen, so dass sich eine guteSchranke ergibt?

Universität Paderborn · Florian Schoppmann 19.01.2005 · 11 / 23

Page 12: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Das Balls into Bins-Modell

Definition (Unendliches Balls into Bins-Modell)Gegeben m Boxen und eine unbegrenzte Anzahl von Kugeln. Eswird der Reihe nach auf die m Boxen geworfen. Jeder Wurf trifftzufällig unabhängig gleichverteilt genau eine Box.

Im Erwartungswert m · Hm Kugeln, bis keine Box mehr leer

Culling-Algorithmus: Einteilung von Eingabe in zwei Phasen:I Erste Phase: Es gibt Boxen ohne Kugel→ Obere Abschätzung: Zeichnung jeder KugelLänge der ersten Phase: Balls into Bins-Modell!

I Zweite Phase: Jede Box enthält Kugel, jede ankommendeKugel ki mit rad ki ≥ s verdeckt→ Obere Abschätzung: Zeichnung jeder Kugel mitWahrscheinlichkeit F (s)

Universität Paderborn · Florian Schoppmann 19.01.2005 · 12 / 23

Page 13: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Obere Schranke für Anzahl zu zeichnender Kugeln

M ZG für Anzahl gezeichneter Kugeln insgesamtN Zufallsgröße für Anzahl Kugeln, bis keine Box mehr leer

E[M] < E[N] + E[(n − N) · F (s)] <1− F (s)

F (t)·m · Hm + n · F (s)

Startwerte für t und m gegeben, asymptotische Abschätzung:I Anzahl Kugeln ver-16-fachtI „Dicke“ des Kranzes halbiertI Anzahl Boxen verdoppelt

⇒ Phase 1 ca. 8-mal länger, in Phase 2 Zeichnung max. 8-mal sovieler Kugeln

⇒ Anzahl Kugeln: n, gezeichnete Kugeln ca.O(8log16 n) = O(n3/4)

Exaktes Ergebnis: Erwartete Anzahl gezeichneter Kugeln:

O(n3/4 · log16 n)

Universität Paderborn · Florian Schoppmann 19.01.2005 · 13 / 23

Page 14: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Gliederung

Das formale ModellGrundbegriffeBewertung von Online-Algorithmen

Schranken im Modell mit unbeschränktem ZwischenspeicherSpezielle AnordnungenDer zufällig gleichverteilte FallApproximation

Schranken im Modell mit beschränktem Zwischenspeicher

Komplexität des Culling-ProblemsDas Optimierungsproblem KnotenaussortierungKomplexität von KnotenaussortierungEnt

Universität Paderborn · Florian Schoppmann 19.01.2005 · 14 / 23

Page 15: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Schranken im Modell mit beschränktem Zwischenspeicher

Heuristiken:I Maximal überdeckte FlächeI Einteilung eines Kranzes in Boxen (wie zuvor)

Problem: Bei konstant großem Zwischenspeicher nur konstantviele Boxen!

Zwischenspeicher der Größe nc mit c ∈ (0, 1):I Wende vorherige Überlegungen anI ∃ Algorithmus mit Schranke O(n3/4 · log16 n), wenn c ≥ 1

4

Sei ALG[I ] solch ein Online-Algorithmus:

E[ALG[I ]]E[OPT[I ]]

= O

(n3/4 · log16 n

ln n

)= O(n3/4)

Universität Paderborn · Florian Schoppmann 19.01.2005 · 15 / 23

Page 16: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Gliederung

Das formale ModellGrundbegriffeBewertung von Online-Algorithmen

Schranken im Modell mit unbeschränktem ZwischenspeicherSpezielle AnordnungenDer zufällig gleichverteilte FallApproximation

Schranken im Modell mit beschränktem Zwischenspeicher

Komplexität des Culling-ProblemsDas Optimierungsproblem KnotenaussortierungKomplexität von KnotenaussortierungEnt

Universität Paderborn · Florian Schoppmann 19.01.2005 · 16 / 23

Page 17: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Verdeckungsgraphen

DefinitionSei V = {k1, . . . , kn} Menge von Kugeln. Ferner seiE := {(ki , kj) ∈ V 2 | ki � kj}. Dann heißt der gerichtete GraphG = (V , E ) Verdeckungsgraph zu V .

Projektionskreis

Projektionszentrum

Universität Paderborn · Florian Schoppmann 19.01.2005 · 17 / 23

Page 18: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Verdeckungsgraphen

DefinitionSei V = {k1, . . . , kn} Menge von Kugeln. Ferner seiE := {(ki , kj) ∈ V 2 | ki � kj}. Dann heißt der gerichtete GraphG = (V , E ) Verdeckungsgraph zu V .

Projektionskreis

Projektionszentrum

Universität Paderborn · Florian Schoppmann 19.01.2005 · 17 / 23

Page 19: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Das Optimierungsproblem

Occlusion Culling als (verallgemeinertes) Graphen-ProblemKnotenaussortierung:

Eingabe: DAG G = (V , E ), n := |V |, Reihenfolge der Knoten,Zwischenspeicher-Größe c .

Finde: Verdrängungssequenz aus Zwischenspeicher, dieGesamtanzahl aussortierter Knoten maximiert.Aussortierung eins Knotens v , wenn ∃v ′ ∈ V mit:

I v ′ vor v in der ReihenfolgeI ∃ Pfad von v ′ zu vI v ′ zum Zeitpunkt der Betrachtung von v noch

im Zwischenspeicher

Beispiel wie rechts:Optimale Verdrängungssequenz:(ε, a, c, e, d , f )Aussortierte Knoten: 3 a b

cd e

fReihenfolge:a,b,c,e,d,f

Zwischenspeicher:Größe 1

Universität Paderborn · Florian Schoppmann 19.01.2005 · 18 / 23

Page 20: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Entscheidungsproblem zum Culling-Problem

Frage: Gibt es effizienten (Offline) Algorithmus für dasCulling-Problem?

Zunächst: Problem Knotenaussortierung und seinEntscheidungsproblem

Definition (KnotenaussortierungEnt)Gibt es zu einem Verdeckungsgraphen G = (V , E ), einerKnotenreihenfolge, und einem Zwischenspeicher der Größe c eineVerdrängungssequenz, so dass ≥ m Knoten aussortiert werden?

Frage: Gibt es ein NP-vollständiges Problem, das sich inpolynomieller Zeit auf KnotenaussortierungEnt reduzieren lässt?

Wenn ja, würde folgen:I KnotenaussortierungEnt NP-schwerI Sofern P 6= NP, Knotenaussortierung nicht effizient lösbar

Universität Paderborn · Florian Schoppmann 19.01.2005 · 19 / 23

Page 21: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Entscheidungsproblem zum Culling-Problem

Frage: Gibt es effizienten (Offline) Algorithmus für dasCulling-Problem?

Zunächst: Problem Knotenaussortierung und seinEntscheidungsproblem

Definition (KnotenaussortierungEnt)Gibt es zu einem Verdeckungsgraphen G = (V , E ), einerKnotenreihenfolge, und einem Zwischenspeicher der Größe c eineVerdrängungssequenz, so dass ≥ m Knoten aussortiert werden?

Frage: Gibt es ein NP-vollständiges Problem, das sich inpolynomieller Zeit auf KnotenaussortierungEnt reduzieren lässt?

Wenn ja, würde folgen:I KnotenaussortierungEnt NP-schwerI Sofern P 6= NP, Knotenaussortierung nicht effizient lösbar

Universität Paderborn · Florian Schoppmann 19.01.2005 · 19 / 23

Page 22: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Knotenüberdeckung und Knotenaussortierung

KnotenüberdeckungEnt : Gibt eszu einem ungerichteten GraphenG = (V , E ) und einem k ∈ N0eine Teilmenge V ′ ⊆ V , so dass|V ′| ≤ k und für jede Kante{e, d} ∈ E wenigstens e oder din V ′ enthalten ist?

a

b

c

d

a

b

c

d

{b,d} 2-Knoten-überdeckung

{a,c} keine 2-Knoten-überdeckung

Bekannt:

I KnotenüberdeckungEnt ist NP-vollständig

SatzKnotenüberdeckungEnt ist polynomiell reduzierbar aufKnotenaussortierungEnt .

Universität Paderborn · Florian Schoppmann 19.01.2005 · 20 / 23

Page 23: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Reduktion von Knotenüberdeckung

Beweisskizze: Verwende folgende Reduktion vonKnotenüberdeckungEnt auf KnotenaussortierungEnt (hier ohneKorrektheitsbeweis):

Eingabe: G = (V , E ), k ∈ N0. Dabei V := {v1, . . . , vn},E := {e1, . . . , es} mit ei = {vj , vk} für j , k ∈ N≤n,j 6= k und i ∈ N≤s .

Ausgabe: DAG G ′ = (V ′, E ′) mit V ′ = {v1, . . . , vn, e1, . . . , es}und E ′ = {(v , e) | e ∈ E und v ∈ e}. Reihenfolge derKugeln genauso. c = k . m = |E |

Beispiel:

a

b

c

d ab c

d

Reduktion

{a,b}

{a,d}{b,c}

{b,d}{c,d}

Universität Paderborn · Florian Schoppmann 19.01.2005 · 21 / 23

Page 24: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Zusammenfassung

Motivation: Modellierung von Occlusion CullingProblemstellung: Gute Ausnutzung des Zwischenspeichers

I Konstant großer Zwischenspeicher: Kein OnlineCulling-Algorithmus o(n)-competitive

I Bei zufälliger Eingabe und unbegrenztem Zwischenspeicher:Mindestens ω(ln n) und maximal O(n3/4 · log16 n) gezeichneteKugeln

I Auf nc , c ≥ 14 , begrenzter Zwischenspeicher: Es gibt

Online-Algorithmus, der maximal O(n3/4 · log16 n) Kugelnzeichnet.

I Das dem Culling-Problem ähnliche OptimierungsproblemKnotenaussortierung ist nicht effizient lösbar, wenn P 6= NP.

Universität Paderborn · Florian Schoppmann 19.01.2005 · 22 / 23

Page 25: Online Occlusion Culling - Studienarbeithomepages.uni-paderborn.de/fschopp/hauptstudium/docs/bachelorarbeitfolien.pdf · Clipping u. Culling Rasterung, Schattierung Pixel Annahme

Zum Weiterlesen. . .

Elias Koutsoupias und Christos H. Papadimitriou (2000):Beyond Competitive Analysis.SIAM Journal on Computing 30, Nr. 1, 300–317.http://epubs.siam.org/sam-bin/dbq/article/29954

Martin Raab und Angelika Steger (1998):“Balls into Bins” - A Simple and Tight Analysis.RANDOM ’98: Proce. of the Second Intern. Workshop onRandomization and Approximation Techniques in ComputerScience, Springer-Verlag.http://wwwmayr.informatik.tu-muenchen.de/personen/raab/publ/balls.pdf

Alan Watt (2002):3D-Computergrafik.3. Auflage.Pearson Studium, München.

Universität Paderborn · Florian Schoppmann 19.01.2005 · 23 / 23