Aktuelle Zeit: 19.10.2019 14:12

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]




Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 
Autor Nachricht
 Betreff des Beitrags: Textur-Kompression mit x.BASIS transcoder
BeitragVerfasst: 10.09.2019 13:11 
Offline
Benutzeravatar

Registriert: 12.11.2005 11:29
Wohnort: Berlin + Zehdenick
Folgendes:

PureBasic kann JPEGs, PNGs, und andere Dateien öffnen und umwandeln im Speicher als "BITMAP".
Das sind dann unkomprimierte Pixel, die entsprechend RAM verbrauchen.
Sagen wir, wir haben eine Textur, 512 x 512 Pixel bei RGB-A jeweils mit 256 Zuständen, oder anders 32 Bit "Farben", 24 + 8 Bit für Transparenz.
Also 4 Byte. Das wären dann 512 x 512 x 4 ~ genau 1 MB.
Bei einer 4K x 4K, also 4096 x 4096 Pixel Textur, wären es dann 64 MB im RAM.
Bild

Wenn diese Texturen nun aber als DXT komprimierte Daten z.B. in einem DDS-Container liegen würden, könnte die Textur im RAM kleiner sein.
Kompression von ca. 6:1 mit sichtbaren Artefakten.

Nun gibt es einen freien Kompression und auch Dekoder, welcher hier zu finden ist:

https://github.com/BinomialLLC/basis_universal

Nun wäre meine Frage, wie würde man das in PureBasic integrieren können?

DXT1, DXT3, DXT5, ETC1 und neuerdings auch ASTC sollten von neueren Grafikkarten unterstützt sein / werden.
Die einfache Pixel-Manipulation kann natürlich erschwert sein, vielleicht sogar unmöglich. Wir haben kein reines #Image mehr, wo wir Pixel für Pixel ansprechen können
und vermutlich würden auch 2D-Drawing-Befehle nicht mehr funktionieren.

Für Spiele reicht es in der Regel ja, wenn die Grafiken vorher erstellt wurden und eigentlich statisch sind, wenn sie auch dynamisch angezeigt würden.

Hier noch mal Beispiele bzw. Informationen der Kompression von Texturen zu ASTC
https://developer.nvidia.com/astc-texture-compression-for-game-assets

Es kann natürlich sein, dass wir die Cross-Plattform-Fähigkeit bei bestimmten Formaten verlieren können.
Aber genau da würde dann ja *.BASIS ins Spiel kommen.
http://richg42.blogspot.com/2018/05/basis-universal-gpu-texture-format.html
https://software.intel.com/en-us/articles/android-texture-compression-a-comparison-study-with-code-sample
https://cesium.com/blog/2017/02/06/texture-compression/
https://www.codeproject.com/Articles/867768/Android-Texture-Compression-a-comparison-study-wit

Vielen Dank für Hinweise.

_________________
Kinder an die Macht http://scratch.mit.edu/


Nach oben
 Profil  
Mit Zitat antworten  
Beiträge der letzten Zeit anzeigen:  Sortiere nach  
Ein neues Thema erstellen Auf das Thema antworten  [ 1 Beitrag ] 

Alle Zeiten sind UTC + 1 Stunde [ Sommerzeit ]


Wer ist online?

Mitglieder in diesem Forum: 0 Mitglieder und 0 Gäste


Sie dürfen keine neuen Themen in diesem Forum erstellen.
Sie dürfen keine Antworten zu Themen in diesem Forum erstellen.
Sie dürfen Ihre Beiträge in diesem Forum nicht ändern.
Sie dürfen Ihre Beiträge in diesem Forum nicht löschen.

Suche nach:
Gehe zu:  

 


Powered by phpBB © 2008 phpBB Group | Deutsche Übersetzung durch phpBB.de
subSilver+ theme by Canver Software, sponsor Sanal Modifiye