AW: Texturbearbeitung
Hm. Du scheinst dich da ja gut auszukennen; weißt du denn, wie ich genug über Matrizen lernen kann, um das umzusetzen? Ich kenne Matrizen nur aus dem Matheunterricht und wüsste so jetzt nicht, was das mit Projektionsberechnungen zu tun haben soll ;-)
Aber um nochmal kurz auf meinen ursprünglichen Ansatz zurückzukommen: Es gibt wirklich keine Methode wie Stretchdraw(Obenrechts,Obenlinks,Untenrechts,Unten links,Bild)? Also genau dasselbe nur allgemein für Vierecke? *Edit*: @Mkinzler: Mit Matrizenrechnung bin ich durchaus vertraut, ich hab nur keine Ahnung, wie ich die auf mein Problem anwenden soll.. |
AW: Texturbearbeitung
Stichwort homogenisierte Koordinaten/Normalvektor. In einer Matrizenoperation kann ein Vektor auf einmal skaliert, rotiert und transponiert werden. Intern arbeiten die Grafikkarten auch mit diesen 4D-Tupeln.
http://iasp2.informatik.htw-dresden....Dgrafik_vp.pdf http://www.hki.uni-koeln.de/sites/al...e_3dgrafik.pdf http://www2.informatik.hu-berlin.de/.../3D-basics.pdf |
AW: Texturbearbeitung
Lies den ganzen Thread nochmal durch... Links sind bereits gegeben!
|
AW: Texturbearbeitung
Damit werde ich wahrscheinlich erstmal eine Weile zu tun haben, vielen Dank an Euch. :-) Hab es zusätzlich eben mal mit einfachem Skalieren des Patterns probiert, wenn man genug Zwischenschritte einbaut sieht das für den Anfang auch schon gar nicht so schlecht aus, auch wenn es eigentlich natürlich quatsch ist ;-)
*Edit* Eine (hoffentlich) ganz kurze Nachfrage noch: Wie kann ich Floodfill so verwenden, dass der Rand ebenfalls gefüllt wird? Also Floodfill+1Pixel in etwa.. Oder muss ich tatsächlich die ganze Fläche erst mit der Farbe des Rands füllen und dann nochmal mit FSSurface die andere Farbe/Textur drüber? |
AW: Texturbearbeitung
Hallo noch einmal,
habe eure Tipps so gut ich konnte umgesetzt (also neu angefangen ;-) ). Das neue Programm auf Vektorbasis funktioniert auch schon ganz gut, es sieht zumindest nicht schlecht aus. Ich habe allerdings eine Frage zur Transformationsmatrix (Wie hier erklärt). Wenn ich das so umsetze, passiert rein garnichts, ich wüsste aber auch nicht, wie es nach dem Modell anders sein sollte. Laut der Internetseite soll die Transformationsmatrix so aussehen (zum verschieben)
Code:
Also zum Beispiel:
(X+a) (1 0 0 0) (X)
(Y+B) (0 1 0 0) (Y) (Z+C) = (0 0 1 0)*(Z) (W) (a b c 1) (W)
Code:
Aber man sieht doch sofort, dass am Ende immer nur ein größerer W-Wert rauskommt und alle anderen gleich bleiben.... wie soll das denn funktionieren? :?:
(5+3) (1 0 0 0) (5)
(6+2) (0 1 0 0) (6) (7+1) = (0 0 1 0)*(7) (1) (3 2 1 1) (1) |
AW: Texturbearbeitung
Ich habe auch eine zeitlang mit solchen Problemen
with TextureMapping zu tun und mir half der Quellcode von Ken Silverman weiter, der diesen auch veröffentlicht hat. Es handelt sich um die DukeNukem Build Engine und seinem Level Editor, mit dem man zwischen 2D (einer Karte) und einem 3D (Texture Setzer) umschalten konnte. Alles in C geschrieben, was für mich aber kein Problem darstellte. Suche mal nach Ken Silverman. MfG, terence |
AW: Texturbearbeitung
Hi, vielen Dank für den Tipp, das werd ich mal machen :) Trotzdem würde mich aber der Sinn dieser Matrizenrechnung interessieren - ich komme einfach nicht darauf, was ich falsch verstanden habe. Hat das vielleicht etwas mit der Homogenisierung der Koordinatenpunkte zu tun ?
|
AW: Texturbearbeitung
Jo, dividiere den Vektor, der dabei rauskommt durch die w Komponente durch!
Ich weiß ned, ob das auch auf die Matrix zutrifft. Aber mit Vektoren sollte das so klappen! |
AW: Texturbearbeitung
Wie meinst Du das ? Dann würden sich doch alle Koordinaten verändern...?
|
AW: Texturbearbeitung
Ich hab mal überlegt, eigentlich müsste die Transformationsmatrix
Code:
lauten. Getestet und siehe da - es funktioniert.. Bin mir daher ziemlich sicher, dass die Darstellung des Links einfach falsch ist - oder irre ich mich?
(1 0 0 A)
(0 1 0 B) (0 0 1 C) (0 0 0 1) |
Alle Zeitangaben in WEZ +1. Es ist jetzt 12:32 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz