Registriert: Mi Jan 08, 2003 15:49 Beiträge: 266 Wohnort: Aachen
Ich habe mir mal den Editor runtergeladen von <a href='http://www.phobeus.de/hosting/dgl/forum/index.php?act=ST&f=13&t=1257' target='_blank'>DGL -> Mystic Dungeon</a> Im Menü steht "Vertex einfügen" und "Face einfügen". Was ein Vertex ist weiss ich aber was ist ein Face?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Ein Face ist im Prinzip nichts anderes als ein Dreieck.Allerdings verwendet man den Begrif Face AFAIK eher dann, wenn die Vertexe eines Dreiecks über die im Face-Array angegebenen Indizes angesprochen werden, während im Array des Dreiecks die Vertexdaten direkt gespeichert sind.Faces haben den Vorteil, das die Anzahl der zu speichernden Vertexe stark verringert wird, da Dreiecke ja oft mehrmals gleiche Vertexe enthalten.
Registriert: Mi Jan 08, 2003 15:49 Beiträge: 266 Wohnort: Aachen
aha- verstanden
Ok nächstes Problem. Im Editor kann man z.b vier Vertexe anzeigen lassen die kann man anschließend zu einem Face zusammen fassen. Danach kann man eine Textur darüber legen. Wie kann man das programmiertechnisch machen?
Registriert: Mo Sep 23, 2002 19:27 Beiträge: 5812
Programmiersprache: C++
Den Editor hat KidPaddle geproggt, deshalb wärs evtl. besser wenn du dich an ihn wendest.Ich würds auf jeden Fall so machen : Die Vertexe auf den Namestack legen, und diese per Selection auswählen lassen.Wenn drei Stück gewählt wurden, ein neues Face im Face-Array erstellen (Sprich das Facearray um einen Eintrag erweitern), und diesem Eintrag dann die Indizes dieser Vertexe (oder die Vertexdaten direkt) zuweisen...schon hat man ein neues Face.
Registriert: Mo Jan 20, 2003 20:10 Beiträge: 424 Wohnort: nähe Starnberg
@SoS Ok, bei mir ist der Begriff Face wohl falsch, weil ich 4 Vertexe nehme und daraus ein Quad erstelle. Ansonsten enthält bei mir ein Face auch nur die Verweise auf die Vertexe. Der Rest entspricht dem, wie ich Du es erklärt hast.
Ich hab mal ne Frage: wenn du ein Quad nimst, wie realisierst du es, dass die Vertexe in der richtigen Reihenfolge genommen werden (ich habe mir den Edit bislang noch nicht angesehen)... beim Dreieck ist es ja an sich egal (da sind die dann halt entweder gegen oder mit dem Uhrzeigersinn), baer bei nem Quad könnte das ja uch so aussehen:
Code:
1 2
4 3
Aber was passiert nun, wenn das Programm die Vertexe in der Reienfolge 1, 3, 2, 4 nimmt? Ich habe nun keine Ahnung, wie das dann aussieht, aber ein richtiges Quad dürfte das nicht geben... oder arbeitest du intern mit 2 Dreiecken?
_________________ Es sind immer die guten, welche zu früh von uns gehen müssen... Meine bislang 13 Open Gl - Tuts findet ihr auf www.dcw-group.net Neu! Ein großer Teil der Demos nach Kylix übersetzt!
Registriert: Mo Jan 20, 2003 20:10 Beiträge: 424 Wohnort: nähe Starnberg
Das ist ein "Missing feature" in meinem Editor, bislang habe ich vom Anwender, also mir, erwartet das ich die Vertex richtig anklicke. Die Sortierung mit oder gegen den Uhrzeigersinn kann ich im Editor ändern.
Die Lösung ist einfach und von SoS. Ich prüfe, wo sich die Geraden, die jeweils durch die benachbarten Vertexe gebildet werden, sich schneiden. Wenn dieser Schnittpunkt nicht im Punkt eines Vertex ist, dann ist die Sortierung falsch und tausche das mittlere Paar einfach von der Reihenfolge. Sollte so gehen.
Mitglieder in diesem Forum: 0 Mitglieder und 5 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.