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

Anonymous

unregistriert

1

02.07.2004, 15:41

Textur auf 2 Dreiecken mit gemeinsamen Vertices?

Hallo,

ich habe nach längeren Anstrengungen endlich ein eigenes, simples Modell Format, sowie entsprechende Importer. In dem Format werden Vertizes sowie Indizes gespeichert. Es werden eben durch diese Indizes ein paar Vertices eingespart, wenn diese denselben Normalvektor besitzen. Zu jedem Vertex speicher ich auch noch die Texturkoordinaten, welche ich nicht selbts berechnet, sondern vom 3D Studio Max .ase Dateiformat importiert habe.

Nun bin ich jedoch gerade an ein gedankliches Problem gekommen, und muss sagen, dass ich auch ziemlich verwirrt bin:

Will ein entwickler nun eine quadratische Textur auf einer Seite eines Würfels haben, so müssen ja 2 Dreieke diese Textur bekommen, und die Texturkoordinaten müssen entsprechend geändert werden, damit es so aussieht, als würde nur eine Textur über beiden Dreiecken liegen (tatsächlich ist es ja so, dass 2x dieselbe Textur [ok, es ist dieselbe, sie liegt ja nur 1x im Speicher] ein wenig verschoben auf 2 Dreiecken liegen).

Aber was nun, wenn diese beiden Dreiecke nun 2 Vertices gemeinsam benutzen (ich benutze ja nen Vertex sowie Indexbuffer)? Dann kann man es doch gar nicht mehr erreichen, dass die Textur korrekt über beiden Dreiecken liegen, damit sie nicht verzerrt wird, da ja die gemeinsam benutzen Vertizes jeweils nur 1 paar Texturkoordinaten haben...

Ich bin total verwirrt... nach meinem GEdankengang könnte man die ganze Geschichte mit dem Indexbuffer ja jetzt vergessen, aber das kann ja nicht sein.


Ich hoffe jemand könnte mir da ein wenig Licht ins Dunkel bringen :)


Vielen Dank

adapto

Treue Seele

Beiträge: 147

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

2

02.07.2004, 16:59

wie schon bei den normalen: hier müssen die vertices geklont werden.

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

3

02.07.2004, 17:00

Ich versteh deinen Gedankengang nicht so ganz.

Eben deswegen, weil 2 Vertices von mehreren Dreiecken benutzt werden, kann man ja gar nichts falsch machen. Dann geht die Textur sicher natlos vom einen Dreieck zum anderen rüber.
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

4

02.07.2004, 18:34

So wie ich das verstanden habe kann er nicht nachvollziehen wie man auf textur koordinaten kommt.......

Anonymous

unregistriert

5

02.07.2004, 18:42

Hm, wie gesagt ich bin leicht verwirrt.
Irgendwie hast Du ja recht, big_muff, die Texturkoordinaten müssten ja stimmen. Ich glaube meine Gedanken kamen daher, weil ich mal einen Würfel hatte, dessen "Mantel" (also alle Flächen ausser Deckel und Boden) korrekt texturiert war, der Deckel sowie der Boden jedoch total verschwommen waren. Mir kommt da irgendwie die Begriffe "planar mapping" und "cubic mapping" in den Sinn.
Wenn ich mir den Würfel in 3D Studio anschaue, so sehe ich ihn an allen Seiten korrekt texturiert, exportiere ich ihn in eine .ase DAtei und lasse ihn von meinem Programm anzeigen, so habe ich wieder diese Seiten richtig texturiert, nur Deckel und Boden sind wieder total verschwommen.

Damit komme ich irgendwie noch nicht klar, ich kanns mir weder erklären noch wüsste ich, was ich dagegen tun kann.

Zitat


wie schon bei den normalen: hier müssen die vertices geklont werden.


Ist das denn immer der Fall? Denn ich habe ja wie oben erklärt schon diese richtig texturierten Wände des Würfels... ich kann mir jetzt nicht vorstellen, wann genau denn ein vertex nun geklont werden muss und wann nicht.

adapto

Treue Seele

Beiträge: 147

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

6

02.07.2004, 18:54

Zitat

ich kann mir jetzt nicht vorstellen, wann genau denn ein vertex nun geklont werden muss und wann nicht
wenn die uv koordinaten bei einem vertice verschieden sind.

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

7

02.07.2004, 19:00

Nein bei Texturkoordinaten musst du nichts klonen. (Es sei denn du willst 2 verschiedene Texturen an den gleichen Vertex binden oder du willst die Textur auf dem einen Dreieck verschieben und auf dem anderen nicht und nicht 2 Texturschichten nehmen)

EDIT: hat afogel schon geschrieben wie ich gerade sehe, aber egal ;)

Zum richtigen Umgang mit Texturkoordinaten:

Wenn beide Dreiecke deines Quadrats in die gleiche Richtung schauen und du einen nahtlosen Texturübergang willst, musst du dir einfach vorstellen, du renderst Vierecke (zu was Direct3D natürlich nicht in der Lage ist ;)). Du kannst das genau wie ein Viereck behandeln und es wird korrekt texturiert. Natürlich musst du die Indices trotzdem für 2 Dreiecke abspeichern.

Ich hoffe das hat man besser verstanden als das, was ich vorher geschrieben habe.
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

Nox

Supermoderator

Beiträge: 5 272

Beruf: Student

  • Private Nachricht senden

8

02.07.2004, 19:01

kömmte man nciht auch dazu die verschiedenen Texturebenen nutzen?

big_muff

Alter Hase

Beiträge: 460

Wohnort: Schweiz

Beruf: Informatikstudent (4. Semester)

  • Private Nachricht senden

9

02.07.2004, 19:05

Doch, aber das in ein Modellformat zu packen und danach während dem Rendern richtig zu handhaben ist vermutlich nicht so einfach, nehm ich mal an.
Nur Idioten halten Ordnung, ein Genie beherrscht das Chaos.[size=7]

[/size]HardFate - Ein Start, Ein Ziel, Viele Wege[size=7]

[/size]Ein Mitglied der VEGeiCoUndGraSonMaWiGeS Bewegung.

adapto

Treue Seele

Beiträge: 147

Wohnort: Berlin

Beruf: Student

  • Private Nachricht senden

10

02.07.2004, 19:56

Zitat

Nein bei Texturkoordinaten musst du nichts klonen.

du musst clonen sobald du verschiedene uv coordinaten auf einem vertice hast! also wenn du zb face mapping benutzt oder andere spielereinen. oder halt mehrere texturen.

gruss
adapto

Werbeanzeige