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

Bas94

Frischling

  • »Bas94« ist der Autor dieses Themas

Beiträge: 12

Wohnort: Gräfenhainichen

Beruf: Schüler

  • Private Nachricht senden

1

21.07.2011, 14:56

Texturemapping von Grund auf

Hallo liebe Forummitglieder, ich habe folgendes Problem:
Da ich gerade dabei bin eine 3D-Grafik-Engine zu basteln, bin ich an dem Punkt angekommen, an dem ich versuche nun auf Polygone Texturen aufzubringen. Ich habe mir schon verschiedenste Dinge durchgelesen. Dabei bin ich darauf gekommen, dass ich einfach die Polygonpunkte in Texturkoordinaten umtransformieren könnte. Dabei hilft die Projektive Transformation mit homogenen Koordinaten. Das einzige Problem ist, wie kann ich aus den gegebenen Punkten die Matrix ermitteln?
Wichtig zu wissen wäre noch, dass ich erstmal mit Polygonen arbeite, die immer 4 Eckpunkte haben. Somit sind ja eigentlich 4 Eckpunkt eder Textur un 4Eckpunkte des Polygons gegeben.
(ich weiß, dass es viele professionellere Arten gibt um 3D-Grafiken darzustellen, wie OpenGL etc, aber mir ist es wichtig auch zu erfahren was dahinter steckt ;) )
Murphys Gesetz gilt immer :!:

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

2

21.07.2011, 15:07

Ich verstehe nicht, was Du machen willst.
Du willst die Texturkoordinaten irgendwie automatisch generieren? Warum? Und wie soll das nachher dann aussehen?
Normalerweise werden die beim Modellieren vom Grafiker so gesetzt, dass die Textur korrekt auf dem Objekt "liegt".

Bas94

Frischling

  • »Bas94« ist der Autor dieses Themas

Beiträge: 12

Wohnort: Gräfenhainichen

Beruf: Schüler

  • Private Nachricht senden

3

21.07.2011, 15:19

naja es geht mir halt darum dass ich ein vierseitiges Polygon im 2 Dimensionalen raum habe (durch zBuffer, drehungen etc entsteht ja sclißlich der räumlcihe eindruck)
nun zeichne ich das Polygon und möchte anstatt dem Polygon eine einheitliche farbe zu geben eine textur so verzerrt wie das Polygon ist darstellen.
am beispiele eines Würfels würde es ja so sein, dass man 6 texturen gegeben hat, die man nun auf die seiten drauflegt. da die würfelseiten vom 2 dimensionalen aus gesehen verzerrt sind durch drehungen und Projektionen, kann ich ja nun nicht mehr direkt die textur auf das verzerrte Polygon legen
das Porblem ist nun: wenn ich das Polygon durch meinen scanline-algorithmus zeichne, muss ich ja für jeden punkt den ich zeichne den Pixel ermitteln der zugehörig in der Textur ist. Spich ich brauche eine zuordnungsvorschrifft die mir die Polygonkoordinaten in die Texturkoordinaten umrechnet.
Murphys Gesetz gilt immer :!:

David Scherfgen

Administrator

Beiträge: 10 382

Wohnort: Hildesheim

Beruf: Wissenschaftlicher Mitarbeiter

  • Private Nachricht senden

4

22.07.2011, 17:50

Definiere doch einfach, wie es so üblich ist, für jeden Polygon-Eckpunkt die Texturkoordinate und interpoliere dazwischen.
So wird es normalerweise gemacht.
Du musst aber aufpassen, denn Du brauchst perspektivisch korrekte Interpolation! (google "perspective correction texture mapping")

Bas94

Frischling

  • »Bas94« ist der Autor dieses Themas

Beiträge: 12

Wohnort: Gräfenhainichen

Beruf: Schüler

  • Private Nachricht senden

5

22.07.2011, 18:44

ah ok den interpolationsansatz hatte ich auch schon jedoch nicht mit der verknüpfung zur perspektive

danke für die lösung .. nun heißt es nur noch ausprobieren und dann eventuell freuen ;-)
Murphys Gesetz gilt immer :!:

Werbeanzeige