Registriert: Di Feb 17, 2004 13:02 Beiträge: 2 Wohnort: Warburg
Hi!
Das Tutorial "Abseits eckiger Welten" von Celphic (<- verbessert )ist - wie alle seine Tuts, die ich bisher benutzt habe, ziemlich gut - nur der Teil über Flächen ist meiner Meinung nach etwas kurz geraten.
Das Einbringen des Koordinaten-Loaders ist eine gute Sache - aber ich brauche in einem Projekt genau zwei durch Kurven eingefasste Flächen - da lohnt es sich nicht, dafür extra eine zusätzliche Datei mitzuschicken.
Aber das Aufbauen des Arrays ist nicht so 'n Problem - eine Fläche kriege ich auch Ohne Laden hin - nur:welche Koordinaten sind wofür?
Eine Zeichnung wie bei den Kurven wäre sehr schön für das Tut, fionde ich.
Wenn das niocht notwendig ist, dann habe ich wohl irgendwas übersehen - jedenfalls kriege ich meine Flächen nicht so konstruiert, wie ich sie gerne hätte.
Im Endeffekt brauche ich eine Art Sichel, also eine Fläche, die durch zwei Kurven eingefasst wird.
Danke schonmal im Vorraus
jongleur
_________________ http://www.proggen.de.ms irc://irc.German-Irc.org/proggen International German Developer Support : Questions and Help round about Programming ( Top: Delphi/Kylix; C/C++; C#; Java; Perl; TCL; PHP; SQL/MySQL; .NET; Webprogramming, VB and last but not least: LINUX)
Zuletzt geändert von jongleur am Di Feb 17, 2004 17:48, insgesamt 1-mal geändert.
Öhmm...... Das Tutorial ist von mir, nicht von Phobeus, aber nur so nebenbei. Du hast recht, hier wäre sicher ein Bildchen sinnvoll. Prinzipiell Handelt es sich um ein 4x4 (Array[0..3] of Array[0..3]) Gitternetz, dessen einzelne Punkte durch jeweils 3 Koordinaten(x,y,z) angegeben sind. Deshalb finden sich in der Datei 4x4=16 Zeilen, mit jeweils 3 Koordinaten. Vielleicht hilft diese kleine Erläuterung bereits.
Registriert: Di Feb 17, 2004 13:02 Beiträge: 2 Wohnort: Warburg
Delphic: sorry - hab mich verschrieben/verguckt.
das habe ich soweit begriffen, dass es sich dabei dann um 16 Punkte mit je 3 Koordinaten handelt.
Mein Problem ist, dass ich nicht genau nachvollziehen kann, wie sich daraus die Fläche zusammensetzt.
Bei der Kurve kannn ich aus der Zeichnung sehen, wie die Bezugspunkte etc sitzen.
Bei der Fläche hab ich - auch nach Deiner Antwort - keine Ahnung.
Und auch das rumprobieren mit verschiedenen Koordinaten hilft mir scheinbar incht weiter.
Über eine nähere Erklärung (oder einen verweis auf anderes Tutorial) würde ich mich freuen!
Danke
jongleur
_________________ http://www.proggen.de.ms irc://irc.German-Irc.org/proggen International German Developer Support : Questions and Help round about Programming ( Top: Delphi/Kylix; C/C++; C#; Java; Perl; TCL; PHP; SQL/MySQL; .NET; Webprogramming, VB and last but not least: LINUX)
Redbook Kapittel 12, das dürfte zur Veranschaulichung helfen.
Aber nochmal kurz:
Code:
x00--x01--x02--x03
| | | |
x10--x11--x12--x13
| | | |
x20--x21--x22--x23
| | | |
x30--x31--x32--x33
Zeilenweise von links nach rechts gelsen stellt dieses Gitter schematisch dar, was in der Beispieldatei angegeben ist(ohne die Höhe=2. koordinate). Die genaue Position der Knotenpunkte kann bei allen Koordinaten beliebig verschoben werden, weshalb jeder Punkt mit allen 3 Koordinaten angegeben ist.
Das Gitternetz ist nichts anderes, als mehrere Nebneinandergelegter, gleichaufgelöster Bezier Curven(hier trickst OpenGl übrigens), deren Vertices von jeweils 2 aneinanderliegenden Linien zu Polygonen zusammengefasst werden.
Registriert: Di Jun 22, 2004 17:40 Beiträge: 51 Wohnort: Aachen
das tutorial hat mich in diesem bereich schon nen guten schritt nach vorne gebracht, schönen dank
ich frag mich jetz nur, wie ich auch größere flächen mit bezier hinbekommen kann (z.B. ein gebirge darstellen o.ä.)
wenn ich einfach mehrere 16-punkte-felder nebeneinander setze, habe ich doch kanten an den verbindungsstellen oder?
(so wie ich das verstanden habe, kann man nur 16 punkte verwenden.. oder gehen da auch mehr?)
Registriert: Do Sep 25, 2003 15:56 Beiträge: 7810 Wohnort: Sachsen - ERZ / C
Programmiersprache: Java (, Pascal)
Hmmm... Also du könntest z.B. definieren, dass immer am Rand der Patches alle Punkte auf 0 ligene, dann gibts keine Kanten (sieht zwar immer noch supoptimal aus aber schon besser.)
Registriert: Di Jun 22, 2004 17:40 Beiträge: 51 Wohnort: Aachen
verflucht ^^
ich dachte, da gibts ne einigermaßen einfache lösung für.
naja.. nu muss ich mich wohl sehr viel mehr mit dem ganzen drumherum beschäftigen :\
Natürlich gehen da mehr Punkte als nur 16. Aber je mehr Punkte in der Bezier Kurve liegen, desto weniger Kontrolle hat man über die Form. Daher ist 4 pro Kurve ein guter Wert und man setzt dann größere Kurven aus solchen Bezier Segmenten zusammen.
Um die Kanten wegzubekommen, muß man einfach die Kontrollpunkte an den Seiten von benachparten Patches übereinstimmen lassen.
Registriert: Di Jun 22, 2004 17:40 Beiträge: 51 Wohnort: Aachen
also bei mir klappt das nich so ganz (falls ich das richtig verstanden habe )
ich hab 2 bezier-segmente gezeichnet mit jeweils 16 punkten. an einer seite haben beide teile die selben punkte (halt genau so, wie ich deine ausführungen verstanden habe).
wie schon zu erwarten war, ist da aber ne kante drin.
wie genau has du das jetz gemeint?
PS: ich hoffe, man erkennt auf dem bild irgendwas oO
Du hast keine ausreichende Berechtigung, um die Dateianhänge dieses Beitrags anzusehen.
Frage zwischendurch:
Gibt es die Möglichkeit die Koordinaten in den Grafikspeicher zu laden und von dort zu Zeichen( Also like VBO's )?
_________________ Shareholder und Leitender Entwickler bei Pipedream-Games.
Zitat: Siehst du diesen Park da unten? Jeden Tag lernen sich darin Menschen kennen und verlassen einander. Und du hast dein ganzes Leben Zeit darin zu 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.