• Keine Ergebnisse gefunden

Aufgabe1(View-FrustumCulling, 10Punkte ) AbgabeamDonnerstag,den01.07.2010,10:15Uhr ¨UbungenzuComputergraphikII-Blatt5

N/A
N/A
Protected

Academic year: 2021

Aktie "Aufgabe1(View-FrustumCulling, 10Punkte ) AbgabeamDonnerstag,den01.07.2010,10:15Uhr ¨UbungenzuComputergraphikII-Blatt5"

Copied!
1
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Prof. G. Zachmann

D. Mohr

TU Clausthal Institut f¨ur Informatik

17. Juni 2010

Sommersemester 2010

Ubungen zu Computergraphik II - Blatt 5 ¨

Abgabe am Donnerstag, den 01. 07. 2010, 10:15 Uhr

Aufgabe 1 (View-Frustum Culling, 10 Punkte )

Implementieren Sie View-Frustum-Culling und integrieren Sie es in das FrameworkVFCulling. Ih- re zentrale Funktion ist GLwidget::computeObjectVisibility(). Ein- uns Ausgaben stehen als Kommentar bei der Funktion dabei.

Berechnen Sie zuerst das View-Frustum. Hierf¨ur ben¨otigen Sie die Informationen aus den Klassenva- riablenm_flightPathbzw. den Iteratorm_fpCurPos, welcher die aktuelle Kameraposition, Blickrich- tung und Upvektor enth¨alt (wird mittelsgluLookAt()gesetzt) und die Parameterm_left,m_right, m_bottometc. die das Viewfrustum bestimmen (gesetzt durchglFrustum()).

W¨ahlen Sie f¨ur jedes Mesh ein Boundingvolumen aus, das Sie f¨ur geeignet halten. Testen Sie die Volumen gegen die Viewfrustum-Ebenen wie in der Vorlesung behandelt. Beachten Sie die Transfor- mationen in derGLwidget::paintGL().

Schreiben Sie die Ergebnisse des Tests (sichtbar/nicht sichtbar) in die Booleanvariablen m_meshStates[i].visible, wobeiider Objektindex ist.

1

Referenzen

ÄHNLICHE DOKUMENTE

• Nat¨ urlich d¨ urfen Sie sich von Beispielen, die sie im Internet finden oder auch den beim Shader- Maker mitgelieferten Programmen, inspirieren lassen. Eine bloße Kopie

– Light: Virtuelle Basisklasse f¨ ur Lichtquellen. Die abgeleiteten Klassen PointLight und Di- rectionalLight sind bereits vollst¨ andige implementiert..

Tip: Achten Sie darauf, dass die Ruhelange der Federn (wird pro Punktmasse gesetzt) korrekt ist, damit das System stabil lauft.. Wie in der Vorlesung (siehe 15 - mass spring

Erweitern Sie das Framework dahingehend, dass das Histogram Equalization f¨ ur alle Komponenten des HSV- und RGB-Raumes berechnet wird. Hierf¨ ur m¨ ussen Sie

In der Funktion Raytracer::render() werden die Strahlen f¨ ur die einzelnen Pixel erzeugt und mittels der Funktion Raytracer::traceRay() durch die Szene verfolgt.. Die von Ihnen zu

Die Methode intersect() der BDSen wird anstelle der momentan verwendeten intersect()- Methode von SurfaceList aufgerufen und soll nat¨ urlich den Schnitt des Strahls mit dem

b) Erzeugen Sie mittels eines Vertexshaders einen Morphingeffekt zwischen der Geometrie eines Ob- jektes und einer Kugel. Interpolieren Sie dazu, in Abh¨ angigkeit von der Zeit,

Sobald eine negative Zahl eingelesen wurde, soll die Konstruktion der Liste abgebrochen und der Inhalt der Liste dann zuerst mittels der Funktion printList () wieder ausgegeben