Registriert: Do Sep 02, 2004 19:42 Beiträge: 4158
Programmiersprache: FreePascal, C++
Also ich würde nen FBO nehmen, und die Texturen da rein rendern… Wo kommen die her? Sind das die vier depth-schnipsel aus dem anderen Thread? Wenn ja, warum renderst du die nicht gleich in ein 512x512er FBO?
greetings
_________________ If you find any deadlinks, please send me a notification – Wenn du tote Links findest, sende mir eine Benachrichtigung. current projects: ManiacLab; aioxmpp zombofant network • my photostream „Writing code is like writing poetry“ - source unknown
„Give a man a fish, and you feed him for a day. Teach a man to fish and you feed him for a lifetime. “ ~ A Chinese Proverb
Abgesehen davon das bei mir auch die auf die Hälfte der Größe skaliert wird macht das Ding genau was du willst. Performant ist das natürlich nur wenn die Texturen schon im Grafikspeicher sind und auch das Resultat da bleiben soll. Die Texturen werden einfach in ein FBO gerendert.
Du willst einen Texturatlas machen? Da hab ich mal was gemacht, was mega toll und schnell war Ist aber Altcode, also nicht wirklich mega hübsch.
Ich kann's nachher mal suchen. Ist die TextureManager Klasse aus X-Dream. Das geistert vielleicht auch noch hier im Forum herum... Habe das Ding damals Texturebaking getauft :p
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Registriert: Di Mai 18, 2004 16:45 Beiträge: 2623 Wohnort: Berlin
Programmiersprache: Go, C/C++
Im Prinzip super einfach, gibt es viele tools aus dem Lightmap baking Bereich(Sascha aus dem Forum hatte mal da was geschrieben). Dein Problem wird sein, dass 4 256 nicht ohne bleeding in eine 512 bekommen wirst. Bei Texturatlanten ist es wichtig, die erste Reihe/Spalte nach der letzten zu zeichnen und umgekehrt und damit wird aus einer 256x256 eine 258x258 Textur((Bi/Tri)Lineares filtering), um das bleeding und sauber tileable texturen aus ein atlas zu bekommen. Sollte man Anisotropisches filtering nutzten wollen, dann muss natürlich der Border entsprechend bei 32xAF(32pixel fetches auf x,y und mehrere in den mipmaps) 16pixel breit sein, also 16 pixel vom Ende der Textur an dem Anfang und umgekehrt. Oft sind bei Atlanten auch nicht alle Texturen gleich groß und auch nicht quadratisch und es kann sich lohnen die Texturen zu drehen und entsprechend effizient zusammen zu packen.
Ich kenne leider kein Tool, welches alles kann, die Grafiker machen das bei uns mit Photoshop per Hand. Wir haben auch nicht genügend Luft, um mal eines zu schreiben, wobei hier wirklich das lesen und schreiben der Grafikformate das aufwändige ist. Ich schätze anderen Entwicklern geht das ähnlich.
Tak, ist der alte X-Dream Code (wo ich noch mitgemacht hab) noch irgendwo online? Da ist der TextureManager von mir nämlich drin. Und der enthält den Code fürs baking.
_________________ "Für kein Tier wird so viel gearbeitet wie für die Katz'."
Mitglieder in diesem Forum: 0 Mitglieder und 18 Gäste
Du darfst keine neuen Themen in diesem Forum erstellen. Du darfst keine Antworten zu Themen in diesem Forum erstellen. Du darfst deine Beiträge in diesem Forum nicht ändern. Du darfst deine Beiträge in diesem Forum nicht löschen. Du darfst keine Dateianhänge in diesem Forum erstellen.