Du bist nicht angemeldet.

Stilllegung des Forums
Das Forum wurde am 05.06.2023 nach über 20 Jahren stillgelegt (weitere Informationen und ein kleiner Rückblick).
Registrierungen, Anmeldungen und Postings sind nicht mehr möglich. Öffentliche Inhalte sind weiterhin zugänglich.
Das Team von spieleprogrammierer.de bedankt sich bei der Community für die vielen schönen Jahre.
Wenn du eine deutschsprachige Spieleentwickler-Community suchst, schau doch mal im Discord und auf ZFX vorbei!

Werbeanzeige

1

06.11.2011, 19:46

Verständnis Frage Übung 2.7.6

Bn mir grad nicht sicher, ob ich die Aufgabenstellungen von 1. und 2. richtig verstehe.
Sufu spuckt da widersprüchliches aus.

Hier nochmal die Aufgaben

Zitat

1. Versuchen Sie, das Beispielprogramm so zu verändern, dass jeweils nur ein Würfel im Vertex-/Indexbuffer gespeichert wird. Erzeugen Sie dann eine Objekliste wie im Beispiel mit den rotierenden Dreiecken. Jeder Würfel soll eine Poition und einen Bewegungsvector besitzen (Beides ist zu Beginn auf Zufallswerte zu setzen).

Zitat

2. Erweitern Sie das Programm aus Aufgabe 1 so, dass die Würfel der Kamera folgen.
Tipp: Berechnen Sie den Verbindungsvektor von jedem Würfel zur Kamera, und addieren Sie ihn (multipliziert mit der vergangenen Zeit und einem kleinen Faktor wie zum Beispiel 0.01) zum Bewegungsvektor hinzu. Die Würfel werden dann der Kamera folgen



Bei 1. Soll ich da jetzt einen Vertexbuffer für jeden einzelnen Würfel definieren?
Oder einen einzigen Würfel verwenden, die Positionsangaben und so weiter in einer Struktur speichern, daraus eine Transformationsmatrix machen und so den einen Würfel mit jeder "Würfelmatrix" transformieren und danach zeichnen?

Bei 2. Ist damit gemeint, dass die Würfel der Kamera sozusagen hinterher fliegen?
Wenn die Kamera stehenbleibt, dann sammeln sich alle Würfel ja bei ihrer Position.

ProAmateur

Alter Hase

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

2

07.11.2011, 06:46

Also ich hab die erste aufgabe zu mindest so verstanden, dass du für jeden wurfel einen
Index- und vertexbuffer erstellen sollst. Halt mit zufallswerten.

Aber theoritisch is die idee einen wurfel zu erstellen und einfach 1000zu zeichnen gar nit schlecht!
Versuch doch einfach beides aus... Schaden kanns auf keinen fall!
Und die abänderung is ja auch nit unbedingt so groß :-D
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

Bu1

Frischling

Beiträge: 66

Beruf: Schüler

  • Private Nachricht senden

3

07.11.2011, 07:50

Hi,
Bei 1. Soll ich da jetzt einen Vertexbuffer für jeden einzelnen Würfel definieren?
Oder einen einzigen Würfel verwenden, die Positionsangaben und so weiter in einer Struktur speichern, daraus eine Transformationsmatrix machen und so den einen Würfel mit jeder "Würfelmatrix" transformieren und danach zeichnen?
Das ist schonmal eine möglichkeit die du ausprobieren solltest! Probiere aber durchaus auch die Variante von ProAmateur aus. Ich habe an dieser Stelle auch beide Varianten benutzt. ;)

Bei 2. Ist damit gemeint, dass die Würfel der Kamera sozusagen hinterher fliegen?
Wenn die Kamera stehenbleibt, dann sammeln sich alle Würfel ja bei ihrer Position.
Ja, also wo ist dien Problem?

Bu1

Zitat

Sämtliche Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt :!:
Sie können nach belieben kopiert und weiterverwändet werden. :P

4

07.11.2011, 13:29

Ok, danke für die Antworten :)

Werde dann beides mal ausprobieren, schaden kannst ja nicht.

Zu 1. vielleicht noch, welche Möglickeit wäre effektiver?

ProAmateur

Alter Hase

Beiträge: 434

Wohnort: Bei Simmern, Koblenz

Beruf: Schüler

  • Private Nachricht senden

5

07.11.2011, 16:36

Bin mir zwar nit sicher würde aber sagen, dass die Methode mit dem einen Cube effektiver is.
"Die Neugier steht immer an erster Stelle eines Problems, das gelöst werden will."
Galileo Galilei
________________________________________________________________________

"Dumme Fragen gibt es nicht, dumm ist nur, wer nicht fragt.“

6

08.11.2011, 23:20

So, hab noch etwas über die Sache nachgedacht.

Eigentlich wäre es doch m effektivsten, wenn ich die Würfel in einen dynamischen Vertex- und Indexbuffer packen würde (auch wenn es so nicht in der Aufgabe steht, was mich etwas wundert), den Vertexbuffer in der Move-Funktion sperren und dann jeden Vertex mit einer einer Matrix transformieren, die aus den Bewegungvektoren gebildet wird, danach natürlich entsperren und den ganzen Buffer mit einem Funktionsaufruf zeichnen?

Bu1

Frischling

Beiträge: 66

Beruf: Schüler

  • Private Nachricht senden

7

09.11.2011, 16:17

Nein, korrigiert mich wenn ich falsch liege, aber wenn du den Vertexbuffer sperst und dann jeden Vertex Transformierst, wird die Berechnung vom Prozessor des Computers übernommen, wenn du dagegen die Transformation als Weltmatrix setzt, wird die Berechnung vom schnellerem Prozessor der Grafikkarte übernommen.

Da du nun aber auch eine dritte Möglichkeit für die Aufgabe gepostet hast kannst du ja auch diese lösen. ;)

Bu1

Zitat

Sämtliche Rechtschreibfehler in diesem Beitrag sind nicht urheberrechtlich geschützt :!:
Sie können nach belieben kopiert und weiterverwändet werden. :P

Werbeanzeige