Files |  Tutorials |  Articles |  Links |  Home |  Team |  Forum |  Wiki |  Impressum

Aktuelle Zeit: So Sep 07, 2025 18:41

Foren-Übersicht » Programmierung » Einsteiger-Fragen
Unbeantwortete Themen | Aktive Themen



Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Autor Nachricht
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 26, 2003 11:47 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Hi,

ich habe 4 Vertexe mit dem ich ein QUAD darstelle. Wie kann ich, wenn ich die Vertex jetzt nicht genau kenne, die Vertexe gegen den Uhrzeiger sortieren, damit die Texturdarstellung klappt. Im 2D Raum bekomme ich es noch hin, aber wie wird die Tiefe mit in diese Betrachtung einbezogen?

Gruß
KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Sa Apr 26, 2003 11:54 
Offline
DGL Member

Registriert: Do Mai 30, 2002 18:48
Beiträge: 1617
macht die tiefe denn da überhaupt einen unterschied? durch die tiefe werden die polygone ja nicht gestürzt... Sofern du nicht über richtige 3D Modelle redest, solltest du keine Probleme bekommen, du musst einfach im Camera Space die z-Koordinate ignorieren, oder irre ich?


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 28, 2003 10:55 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Ist doch ganz einfach:

Sind die Vertices in der Reihenfolge A-B-C-D und du möchtest die Orienierung umkehren (weil z.B. das Culling grad verkehrt läuft), sortierst du sie halt um nach
D-C-B-A und du bist fertig. Ob 2D oder 3D macht dabei keinen unterschied, Faceculling funktioniert ja gerade deswegen, weil Vorderseiten per Definition (standardmäßig) gegen den Uhrzeigersinn, Rückseiten im Uhrzeigersinn vorliegen. Nummerier mal die Ecken eines Blattes, dann dreh es um - siehst du ?

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 28, 2003 11:41 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Auf die Idee im Editor bin schon gekommen. Aber was mache wenn der Anwender BADC angibt? Ich möchte dann automatisch die richtige Sortierung vornehmen.

KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 28, 2003 18:20 
Offline
DGL Member
Benutzeravatar

Registriert: Fr Dez 13, 2002 12:18
Beiträge: 1063
Ah, jetzt verstehe ich das Problem, du willst Schnittpunkte in einem Editor zu einem Quad verbinden:
Als erstes ist sicherzustellen, dass die Vertices tatsächlich koplanar sind (auf einer Ebene liegen) - dazu rechnest du die Ebenengleichung mit den ersten drei Schnittpunkten aus, wenn du den vierten einsetzt, sollte ein Wert in der Nähe von Null herauskommen.

Das war der einfache Teil, jetzt musst du sicherstellen, dass sich 1) die Kanten des Quads nicht überschneiden und 2) das Quad darf auch nicht konkav sein. Prüfung 2) langt aus, da sich dann die Kanten auch nicht überschneiden können - am besten gehst du sämtliche Kombinationen der Vertices durch und und überprüfst, ob der Winkel zwischen jeweils zwei Kanten 180 Grad nicht überschreitet - hast du eine gefunden

Um einheitliche Vorder- oder Rückseiten zu erhalten, stellst du noch sicher, dass die z-Komponente des Normalvektors der Fläche positiv(bzw. negativ) ist (sollte das nicht der Fall sein, drehst du halt die Reihenfolge um), die Fläche also zu dir oder von dir weg schaut.

Wenn du willst, kann ich dir die genauen Algorithmen raussuchen - du findest aber garantiert im Internet genügend Unterlagen dazu.

... hat schon seinen Grund, warum die meisten Engines auf Dreiecke optimiert sind :D .

_________________
Viel Spaß beim Programmieren,
Mars
http://www.basegraph.com/


Nach oben
 Profil  
Mit Zitat antworten  
 Betreff des Beitrags:
BeitragVerfasst: Mo Apr 28, 2003 20:11 
Offline
DGL Member

Registriert: Mo Jan 20, 2003 20:10
Beiträge: 424
Wohnort: nähe Starnberg
Hi Mars,

danke für Info. Auf die Idee mit der Überschneidung der 2 Geraden, durch AB und CD definiert, bin ich nicht gekommen.

Das die meisten Engine Triangles verwenden ist mir schon klar, aber ich fange mit dem einfachem an, in diesem Fall halt QUADS, und arbeite mich langsam vor.

Danke
KidPaddle

_________________
http://www.seban.de


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 6 Beiträge ] 
Foren-Übersicht » Programmierung » Einsteiger-Fragen


Wer ist online?

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.

Suche nach:
Gehe zu:  
  Powered by phpBB® Forum Software © phpBB Group
Deutsche Übersetzung durch phpBB.de
[ Time : 0.007s | 14 Queries | GZIP : On ]