1. Diese Seite verwendet Cookies. Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies. Weitere Informationen
  2. Bitte schaltet eure Ad Blocker aus. SLinfo kann nur betrieben werden, wenn es durch Werbung Einnahmen erzielt. Vielen Dank!!
    Information ausblenden
  3. Wir freuen uns, wenn du dich in unserem Forum anmeldest. Bitte beachte, dass die Freigabe per Hand durchgeführt wird (Schutz vor Spammer). Damit kann die Freigabe bis zu 24 Stunden dauern.
    Information ausblenden

Hinweise zu Grafikformaten und Auflösung der Textur

Dieses Thema im Forum "Texturen & Bildbearbeitung" wurde erstellt von Noctua Janus, 14. August 2007.

Status des Themas:
Es sind keine weiteren Antworten möglich.
  1. Noctua Janus

    Noctua Janus Superstar

    Beiträge:
    1.577
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Kurze Warnung zu Beginn, ja dieser Artikel ist sehr technisch. Ich habe mir aber große Mühe gegeben die technischen Aspekte der Texturen so gut wie möglich zu erklären, da jeder der Texturen nach SL hochläd über gewisse Dinge Bescheid wissen sollte.
    Deshalb laßt euch bitte nicht abschrecken ;)


    Unterstütze Grafikformate

    Second Life bietet die Möglichkeit Grafiken in vier verschiedenen Grafikformaten hochzuladen: TGA, BMP, JPEG und PNG.
    Nachfolgend eine kurze Erklärung zu den einzelnen Formaten:

    Targa Image File Format – kurz TGA, übliche Dateiendung .tga
    Targa ist die Kurzform von “Truevision Advanced Raster Graphics Array” und wurde im Jahr 1984 von der Firma Truevision entwickelt. In diesem Format werden die Bilddaten (und optionale Zusatzinformationen) mit bis zu 32 Bit pro Pixel als Rastergrafik gespeichert.
    Das TGA-Format bietet die Möglichkeit die Daten unkomprimiert oder mit verlustfreier Kompression zu speichern und unterstützt die Verwendung eines Alphakanals. Die im Vergleich zum JPEG höhere Dateigröße sollte nicht abschrecken, da sie ja nur auf der lokalen Platte und während des Uploads eine Rolle spielt (vergleiche „Speicherung auf dem Server“).

    Windows Bitmap Format – kurz BMP, übliche Dateiendung .bmp
    Windows Bitmap oder kurz BMP ist ein zweidimensionales Rastergrafikformat welches für Microsoft Windows of OS/2 entwickelt wurde. Der Ein wichtiger Vorteil des Formats liegt darin, daß es selbst von den einfachsten Bildbearbeitungsprogrammen zu öffnen ist. Es bietet außerdem eine hohe Bildqualität und verlustfreie Speicherung. Jedoch unterstützt es nicht die Verwendung eines Alphakanals, so dass es für viele SL-Texturen nicht von Interesse ist.

    Joint Photographic Expert Group Format - kurz JPEG, übliche Dateiendung .jpg
    JPEG wurde von der Joint Photographic Experts Group im Jahre 1992 als Standard vorgestellt. Es ist ein Format mit verlustbehafteter Bildkompression, welches sich besonders durch kleine Dateigrößen auszeichnet. Diese werden allerdings wie zuvor erwähnt durch Verluste in der Bildqualität bezahlt, die je nach Stärke der gewählten Kompression mehr oder weniger sichtbar sind.
    Wie das BMP Format unterstützt es keinen Alphakanal, so dass es ebenfalls für viele Texturen gar nicht in Frage kommt.

    Portable Network Graphics - kurz PNG, übliche Dateiendung .png
    PNG steht für Portable Network Graphics (engl. portierbare Netzwerkgrafiken) und ist ein Grafikformat für Rastergrafiken. Im Gegensatz zum JPEG Format werden Bilder mit einer verlustfreien Kompression abgespeichert. Das Kompressionsverfahren ist besser als beim GIF Format und ermöglichst so relativ kleine Dateigrößen.
    Das Format unterstützt zudem Transparenz via Alphakanal und viele Webseiten erlauben den Upload von PNG Dateien.

    Speicherung auf dem Server
    Auf den Servern von Linden Lab werden die Bilddaten im JPEG2000 Format gespeichert. Diese Formatänderung ist unabhängig davon in welchem Format sie hochgeladen wurden. Obwohl das JPEG2000 Format auch eine verlustfreie Kompression ermöglicht werden die Daten verlustbehaftet gespeichert, so dass in jedem Fall ein Qualitätsverlust auftritt.

    Welches Format soll ich verwenden ?
    Aufgrund der Serverseitigen Speicherung im JPEG2000 Format würde ich empfehlen immer das TGA Format für die Ausgangsdatei zu benutzen. Es unterstützt nicht nur als einziges der drei einen Alphakanal, sondern ermöglicht die verlustfreie Speicherung der Datei auf dem eigenen Rechner.

    Bei Verwendung des JPEG Formates kommt es letztlich zu einem zweifachen Qualitätsverlust, zuerst auf dem lokalen Rechner und ein zweites Mal auf dem Server und der Vorteil der geringen Dateigröße ist nicht vorhanden, da die Textur auf dem Server ja ohnehin im JPEG2000 Format gespeichert wird.

    Wenn man die Bilder parallel auch im Web verwenden möchte so sollte man das nachsehen ob die betreffende Webseite das PNG Format unterstützt, da man in diesem den Vorteil der verlustfreien Kompression behält und einen Alphakanal zur Verfügung hat.

    Dateigröße und Speicherverbrauch
    Ein weit verbreiteter Irrglaube ist der, dass der Speicherverbrauch der Grafikkarte durch die Dateigröße beeinflusst wird. Dieser findet oft Nahrung dadurch, dass Webseiten mit kleineren Grafikdateien schneller laden. Jedoch liegt dieses einzig in der schnelleren Übertragung der Dateien übers Netz begründet und hat nichts mit der eigentlichen Anzeige zu tun.

    Das einzige was die Anzeigegeschwindigkeit beeinflusst ist der Verbrauch von Texturspeicher auf der Grafikkarte. Dieser wird jedoch nur durch die Zahl der Pixel und die verwendete Farbtiefe bestimmt und nicht durch die Größe der Datei auf der Festplatte. Eine TGA Datei und eine JPEG Datei werden gleich viel Texturspeicher verbrauchen solange sie dieselbe Auflösung und Farbtiefe haben.

    Berechnung des benötigten Texturspeichers

    Um zu bestimmen wieviel Speicher ein Bild verbrauchen wird muß man die Zahl der Pixel mit der Zahl der Bits pro Pixel multiplizieren.

    Ein Bild mit RGB Farben ohne Transparenz besteht aus 24 Bits pro Pixel, mit Alphakanal sind es 32 Bit Farbtiefe.
    Beispielrechnung für ein RGB Bild ohne Alphakanal ( = 24 Bit) mit 1024 x 1024 Pixeln:

    1024x1024 = 1,048,576 Pixel im Bild
    1,048,576 x 24 Bit Farbtiefe = 25,165,824 im gesamten Bild

    25,165,824 bits / 8 Bit pro Byte = 3,125,728 Bytes oder 3 MB

    Wie zuvor erwähnt wird dieser Speicher verbraucht völlig egal in welchem Format die Grafik abgespeichert ist.

    Zum Vergleich der Speichervergleich einiger Auflösungen:

    1024x1024 = 4 MB bei 32 Bit | 3 MB bei 24 Bit
    512x512 = 1 MB bei 32 Bit | 768 KB bei 24 Bit
    256x256 = 256 KB bei 32 Bit | 192 KB bei 24 Bit
    128x128 = 64 KB bei 32 Bit | 48 KB bei 24 Bit
    64x64 = 16 KB bei 32 Bit | 12 KB bei 24 Bit
    32x32 = 4 KB bei 32 Bit | 3 KB bei 24 Bit
    16x16 = 1 KB bei 32 Bit | 768 Bytes bei 24 Bit

    Hält man sich nun vor Augen, dass eine Standardgrafikkarte mit 256 bis 512 MB Speicher daherkommt wird deutlich, dass es nicht viel großformatige Texturen benötigt um die Grafikkarte auszubremsen.
    Deshalb sollte jeder seine Texturen soweit wie möglich optimieren und nur die minimal nötige Größe nach SL laden. Da eine Textur auf einer Fläche mehrfach wiederholt werden kann ist es in viele Fällen auch möglich mit kleineren Texturen große Flächen in guter Qualität zu füllen.

    Bestimmung der besten Auflösung
    Welche Auflösung die beste ist wird von der Überlegung bestimmt welche Fläche die Textur einnehmen wird und welcher Detailgrad in dieser zu sehen ist.

    Ein Namensschild an einer Tür welches der Betrachter nur im Vorbeigehen ansieht muß bei naher Betrachtung kein perfektes Schriftbild haben, eine Textur der Größe 64x64 wird in den meisten Fällen völlig ausreichen.

    Eine Hausmauer (egal welcher Größe) ist letztlich nur eine Wiederholung gleicher Element
     
Status des Themas:
Es sind keine weiteren Antworten möglich.