[FMX] Texturprobleme mit XE4 die es bei XE2 nicht gab.
9. Jul 2013, 15:35
Hi, ich habe bei der Einwicklung einer Firemonkey 3D Anwendung unter XE4 ein Problem was ich unter XE2 nicht hatte.
Ich habe eine TEllipse3D deren Mantel ich per MaterialShaftSource eine Bitmap als Textur zuweise. Die Bitmap ist ein Bild 50x600 Pixel mit den Ziffern 0-9.
Unter XE2 wird das schön texturiert und ich habe quasi eine Anzeigewalze die mir je nach RotationAngle.Z eine Zahl von 0-9 auf der Walze anzeigt.
Nach Upgrade auf XE4 wird mein Walzenmantel aber nicht mehr korrekt texturiert, sondern nur die "1" aus der Bitmap wird um die gesamte Walze gestreckt, die anderen Zahlen gelangen nicht mehr auf die Textur.
Wenn ich die Property "Flatness" der Ellipse deutlich erhöhe, werden dann auch Schritt für Schritt mehr Zahlen der Zahlenstreifen Bitmap angezeigt, nur leider wird nun die Ellipse nicht mehr Rund sondern eckig, bei Anzeige aller 10 Ziffen sogar 4-eckig. Das kann also nicht die Lösung sein.
Wie kann ich das unter XE4 so texturieren wie es ja unter XE2 problemlos funktioniert hat ? - Mir fehlt da im Moment der Ansatz, weil ich gar nicht weis warum es nun nicht mehr funktioniert.
Testweise habe ich mal anstatt einer TEllipse3D einen TCylinder3D genommen. Hier funktioniert die Texturierung des Mantels zwar so wie ich es möchte, aber die Boden- und Kopffläche des Zylinders werden auch mit der gleichen Textur versehen. Ein Unterscheiden nach "MaterialBackSource", "MaterialShaftSource" und "MaterialSource" ist hier so wie bei der TEllipse3D nicht möglich.
Mantel bzw. Kopf- und Bodenflächen des Zylinders, also meiner Anzeigenwalze sollen unterschiedliche Texturen haben. Dies scheint aber nur mit der TEllipse3D und nicht mit dem TCylinder3D zu funktionieren.
Da nun unter XE4 im Gegensatz zu XE2 die TEllipse nicht mehr korrekt texturiert wird komme ich nicht mehr weiter.
Vielleicht hat jemand Tipps oder kennt das oder ein ähnliches Problem.
Ich hoffe man kann sich das Problem textlich vorstellen, sonst müsste ich mal ein paar Bilder der Walze jeweils unter XE2 und XE4 einstellen.
Geändert von Kobayashi ( 9. Jul 2013 um 15:37 Uhr)
|