![]() |
Texturen auf Bild aufteilen
Hallo zusammen.
Ich habe eine ganze Reihe von Texturen in einzelnen Bildern (alle relativ klein und in unterschiedlichen Größen). Ich möchte diese nun gemeinsam in eine große Datei speichern, da sich eine große Datei schneller laden lässt als viele kleine. Dabei möchte ich nach Möglichkeit den vorhandenen Platz (z.B. als Vorgabe 512x512 Pixel) so gut wie es geht ausnutzen, die Bilder also möglichst intelligent verteilen. Habt ihr eine Idee, wie man an die Sache am sinnvollsten rangehen könnte (erstmal in der Theorie)? Danke und Grüße |
Re: Texturen auf Bild aufteilen
Du könntest die Bilder in eine ImageList laden und dann in eine Datei speichern. Wenn du sie wieder haben willst, kannst du sie einfach wieder laden:
Delphi-Quellcode:
Die ImageList muss aber beim Speichern den selben Namen haben wie beim Laden, ansonsten funktionierts nicht.
//Speichern:
WriteComponentResFile('D:\Bilder.wuppdi', ImageList1); //Laden: ReadComponentResFile('D:\Bilder.wuppdi', ImageList1); Alternativ könntest du einen eigenen Dateityp entwerfen, in dem am Anfang der Datei die Anzahl der Bilder steht und jeweils die Positionen, an denen ein Bild anfängt bzw. aufhört. Dann könntest du die Bilder in diese Datei reinschreiben. Hab damit aber nicht viel Erfahrung.. Mfg |
Re: Texturen auf Bild aufteilen
Danke für die Antwort. Das Problem ist, dass ich das nicht für Delphi brauche, sondern um das Laden in einer Engine zu beschleunigen. Daher hilft mir hier die ImageList und die Res nicht weiter
|
Re: Texturen auf Bild aufteilen
Also wenn du mehrere kleinere Texturen in eine große Texture packen willst, hab ich da nen Link für dich:
![]() Nach dem Prinzip hab ich das in meiner ![]() Grüße |
Re: Texturen auf Bild aufteilen
Sieht schonmal sehr gut aus - auch wenn ich noch nicht alles durchblickt habe. Wärst du vielleicht so nett (damit ich das Rad nicht zweimal erfinden muss), und mir Deine Implementierung zu zeigen?
|
Re: Texturen auf Bild aufteilen
Ich kann dir gerne den Quelltext geben, doch heut schaff ich das nicht mehr - vielleicht morgen. Ich müssten dafür den Quelltext erst aus meiner Engine "extrahieren" bzw. herausarbeiten und das kann etwas dauern.
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:52 Uhr. |
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz