Übung 3 P1

Moderator: Game Technology

TomBombadil
Neuling
Neuling
Beiträge: 9
Registriert: 10. Nov 2016 21:50

Übung 3 P1

Beitrag von TomBombadil »

Hallo,

wir stecken bei der P1 fest. Wir haben die Berechnung der Projektion der Dreiecksendpunkte auf den Bildschirm wie auf Folie 29 in Foliensatz 3 implementiert, es ensteht aber kein korrektes Bild, selbst bei keiner Kamereaverschiebung und keiner Rotation. Vergessen wir bei der Implementierung etwas wichtiges?

Danke und Grüße

FloM-KOM
Moderator
Moderator
Beiträge: 279
Registriert: 27. Apr 2010 17:20

Re: Übung 3 P1

Beitrag von FloM-KOM »

Taucht denn überhaupt etwas auf oder inwiefern ist das Bild falsch? Ein Screenshot wäre super zum Einschätzen.

TomBombadil
Neuling
Neuling
Beiträge: 9
Registriert: 10. Nov 2016 21:50

Re: Übung 3 P1

Beitrag von TomBombadil »

Auf dem Bild tauchen Strahlen aus der linken unteren Ecke auf.
Bildschirmfoto vom 2016-11-11 11-32-46.png
Bildschirmfoto vom 2016-11-11 11-32-46.png (7.53 KiB) 654 mal betrachtet

FloM-KOM
Moderator
Moderator
Beiträge: 279
Registriert: 27. Apr 2010 17:20

Re: Übung 3 P1

Beitrag von FloM-KOM »

Das ist jetzt nur die perspektivische Projektion? Generell ist es eine gute Idee die drei Schritte Translation, Rotation und Projektion getrennt zu machen. Wenn Ihr nur Projektion testet und etwas falsches bei rauskommt kann entweder ein Fehler in der Formel sein oder die Werte wie Position der Kamera (insbesondere z) und zmin sind ungünstig gewählt, z.B. wenn die Kamera im Hasen drin steckt.

Tobias Stöckert
Mausschubser
Mausschubser
Beiträge: 52
Registriert: 18. Apr 2015 15:35

Re: Übung 3 P1

Beitrag von Tobias Stöckert »

Bei uns sieht es wenn nur eine Translation implementiert ist so aus, als würde der Hase in 2D auf dem Bildschirm verschoben werden und nicht so als ob man, wenn die Kamera hochgeht, von oben auf den Hasen blickt und umgekehrt.

FloM-KOM
Moderator
Moderator
Beiträge: 279
Registriert: 27. Apr 2010 17:20

Re: Übung 3 P1

Beitrag von FloM-KOM »

Die Translation alleine macht auch genau so etwas. Ohne Rotation bleibt der Blickwinkel immer gleich, und ohne Projektion bleibt das Bild des Modells immer gleich groß.

Tobias Stöckert
Mausschubser
Mausschubser
Beiträge: 52
Registriert: 18. Apr 2015 15:35

Re: Übung 3 P1

Beitrag von Tobias Stöckert »

Okay vielen Dank. Eine Frage zur Projektion noch (Translation und Rotation sehen gut aus), nimmt man für zmin einfach einen festen Wert? Bei uns hatte das Zoomen schon einmal funktioniert jedoch haben wir dann einfach durch einen festen Wert geteilt, aber laut Formel muss ja dz3 und zmin benutzt werden.

FloM-KOM
Moderator
Moderator
Beiträge: 279
Registriert: 27. Apr 2010 17:20

Re: Übung 3 P1

Beitrag von FloM-KOM »

zMin ist ein Wert der für die Kamera bzw. die perspektivische Transformation festgelegt wird und unabhängig von den Koordinaten des Meshes ist (also ist nicht die minimale z-Koordinate im Objekt gemeint). zMin ist im Prinzip der Abstand der Bildebene von der Kamera. Vektoren die genau auf der Bildebene liegen sollen nicht perspektivisch verzerrt werden. Setzt man auf Folie 25 in der Formel für "distance" den Wert "zMin" ein, dann ergibt sich x_proj = 1 * X = X, also wird der Punkt nicht geändert durch die Projektion.

Tobias Stöckert
Mausschubser
Mausschubser
Beiträge: 52
Registriert: 18. Apr 2015 15:35

Re: Übung 3 P1

Beitrag von Tobias Stöckert »

Vielen Dank, leider passiert bei mir jetzt gar nichts mehr wenn durch etwas anderes als einen festen Wert teile, weshalb kein Zoom möglich ist. Das Bild wird teilweise gar nicht erst geladen oder ist komplett schwarz.

FloM-KOM
Moderator
Moderator
Beiträge: 279
Registriert: 27. Apr 2010 17:20

Re: Übung 3 P1

Beitrag von FloM-KOM »

Habt Ihr den Hinweis auf den Fix für die Übung unter OpenGL gesehen im anderen Thread zu der Aufgabe und der Website? Wenn Ihr den Wert zur Laufzeit ändert und sich nichts tun könnte es daran liegen. Vielleicht sind auch die Schritte in denen Ihr zMin ändert zu groß.

Tobias Stöckert
Mausschubser
Mausschubser
Beiträge: 52
Registriert: 18. Apr 2015 15:35

Re: Übung 3 P1

Beitrag von Tobias Stöckert »

Okay es lag anscheinend daran, dass durch zu kleine Werte geteilt wurde. Die jetzige Lösung teilt jedoch einfach durch einen Wert Zoom der durch die Tastatur beeinflusst werden kann und wir sind uns nicht ganz sicher ob das so gewollt ist. In der Formel werden ja die Z-Werte mit einberechnet jedoch hat das bei uns nicht funktioniert, da diese Werte vermutlich auch sehr klein sind.

FloM-KOM
Moderator
Moderator
Beiträge: 279
Registriert: 27. Apr 2010 17:20

Re: Übung 3 P1

Beitrag von FloM-KOM »

Verstellbarer Zoom ist nicht nötig, es reicht wenn die perspektivische Projektion mit einem zMin-Wert funktioniert.

RobDangerous
Moderator
Moderator
Beiträge: 363
Registriert: 14. Okt 2014 17:05

Re: Übung 3 P1

Beitrag von RobDangerous »

Gute z-Werte zu finde ist auch etwas knifflig, muss man ein wenig probieren/nachrechnen/im Debugger nachvollziehen.

PS: Die Problematik ist auch in der Comic-Welt berüchtigt, deshalb erscheint über einem Charakter, der angestrengt nachdenkt immer ein zzzzzzzz.

Tobias Stöckert
Mausschubser
Mausschubser
Beiträge: 52
Registriert: 18. Apr 2015 15:35

Re: Übung 3 P1

Beitrag von Tobias Stöckert »

Vielen Dank für die gute Hilfe :)

Antworten

Zurück zu „Game Technology“