D: Unterschied zwischen den Versionen

Aus EEP Wiki
Wechseln zu: Navigation, Suche
Zeile 2: Zeile 2:
  
  
<b>Direct3D</b> ist eine Programmierschnittstelle (API) von Microsoft für 3D-Computergrafik. Direct3D ist ein Bestandteil von Direct-X&trade; und dient dazu, Windows-Anwendungen einen möglichst direkten Zugriff auf die Hardware eines Computers zu geben. Häufig verwendet wird Direct3D vor allem für Computerspiele, bei dem es mit dem plattform- und betriebssystemunabhängigen OpenGL&trade; konkurriert. <b>''Direct3D verwendet ein linkshändisches Koordinatensystem''</b> und unterscheidet sich in diesem Punkt grundlegend von OpenGL&trade;. Verschiedene Grafikkarten unterstützen Direct3D durch Gerätetreiber, welche die standardisierten API-Befehle von Direct3D auf die Grafikhardware abbilden. Dabei unterscheidet Direct3D zwischen initialisierenden und ausführenden Befehlen. Initialisierende Befehle konvertieren komplexere Datenstrukturen - wie etwa Texturen - in das grafikkarten-spezifische Format, ausführende Befehle zeigen die derart konvertierten Elemente an. Da das Initialisieren und Konvertieren von Elementen einige Zeit in Anspruch nehmen kann, ist es bei Spielen üblich, dies während des Ladens eines neuen Levels zu tun. Ausführende Befehle sind dagegen auf größtmögliche Geschwindigkeit optimiert. Moderne Grafikkarten stellen sogenannte [[Hardware-Shader]] zur Verfügung. Diese Shader sind ausführbare Mini-Programme, welche zum Erzeugen von 3D-Effekten benutzt werden. Für die Programmierung der Shader definierte Microsoft eine eigene Maschinensprache, die von den beiden derzeit führenden Produzenten von Grafikchips, NVIDIA und ATI (derzeit von Advanced Micro Devices "AMD" übernommen) in ihren Chips überwiegend direkt unterstützt werden. Direct3D erlaubt es, die verfügbaren Shader-Typen (Vertex-Shader, Pixel-Shader und Geometry-Shader), anzusteuern.
+
<b>Direct3D</b> ist eine Programmierschnittstelle (API) von Microsoft für 3D-Computergrafik. Direct3D ist ein Bestandteil von Direct-X&trade; und dient dazu, Windows-Anwendungen einen möglichst direkten Zugriff auf die Hardware eines Computers zu geben. Häufig verwendet wird Direct3D vor allem für Computerspiele, bei dem es mit dem plattform- und betriebssystemunabhängigen OpenGL&trade; konkurriert. <b>''Direct3D verwendet ein linkshändisches Koordinatensystem''</b> und unterscheidet sich in diesem Punkt grundlegend von OpenGL&trade;. Verschiedene Grafikkarten unterstützen Direct3D durch Gerätetreiber, welche die standardisierten API-Befehle von Direct3D auf die Grafikhardware abbilden. Dabei unterscheidet Direct3D zwischen initialisierenden und ausführenden Befehlen. Initialisierende Befehle konvertieren komplexere Datenstrukturen - wie etwa Texturen - in das grafikkarten-spezifische Format, ausführende Befehle zeigen die derart konvertierten Elemente an. Da das Initialisieren und Konvertieren von Elementen einige Zeit in Anspruch nehmen kann, ist es bei Spielen üblich, dies während des Ladens eines neuen Levels zu tun. Ausführende Befehle sind dagegen auf größtmögliche Geschwindigkeit optimiert. Moderne Grafikkarten stellen sogenannte [[S|Hardware-Shader]] zur Verfügung. Diese Shader sind ausführbare Mini-Programme, welche zum Erzeugen von 3D-Effekten benutzt werden. Für die Programmierung der Shader definierte Microsoft eine eigene Maschinensprache, die von den beiden derzeit führenden Produzenten von Grafikchips, NVIDIA und ATI (derzeit von Advanced Micro Devices "AMD" übernommen) in ihren Chips überwiegend direkt unterstützt werden. Direct3D erlaubt es, die verfügbaren Shader-Typen (Vertex-Shader, Pixel-Shader und Geometry-Shader), anzusteuern.
  
  
Zeile 11: Zeile 11:
  
  
<b>DDS</b> (<b>D</b>irect-<b>D</b>raw-<b>S</b>urface)-Format ist ein von Microsoft eingeführtes Dateiformat (Endung .dds) zur Optimierung und Speicherung von Texturen bzw. [[Cube Maps]], das erstmals in Direct-X&trade; 3.0 vorgestellt wurde. Seit Version 8.0 können auch Volume Textures gespeichert werden. Für die meisten Formate werden auch [[Mipmaps]] unterstützt. Das Format ist relativ platzsparend und kann mit zahlreichen Programmen (u. a. der Hersteller Nvidia und Microsoft) erstellt werden. Zusätzlich sind Plug-ins für verschiedene Grafikprogramme erhältlich (z. B. für [[GIMP]]), welche den Export in das DDS-Format erlauben. Das DDS-Format wurde von Microsoft entwickelt, um in Spielen die <b>''Geschwindigkeit zu erhöhen''</b>, ohne dabei auf Details zu verzichten. Es wird häufig in Computerspielen oder Benchmarks verwendet, da es schnell in den Grafikspeicher geladen werden kann und <b>''aufgrund der Mipmaps eine schnelle Anzeige''</b> von 3D-Grafiken bietet. DDS-Dateien können intern nicht verlustfrei in verschiedenen Unterformaten komprimiert werden. Die fünf Kompressionsverfahren, auch "[[S3 Texture Compression]]" genannt gliedern wir in: DXT1, DXT2, DXT3, DXT4 und DXT5, wobei der Export der komprimierten Texturen für Eisenbahn.exe Professional®© 7.5 und 8.0 ausschließlich in den Formaten [[DXT1]] und [[DXT5]] erfolgt.
+
<b>DDS</b> (<b>D</b>irect-<b>D</b>raw-<b>S</b>urface)-Format ist ein von Microsoft eingeführtes Dateiformat (Endung .dds) zur Optimierung und Speicherung von Texturen bzw. [[C|Cube Maps]], das erstmals in Direct-X&trade; 3.0 vorgestellt wurde. Seit Version 8.0 können auch Volume Textures gespeichert werden. Für die meisten Formate werden auch [[M|Mipmaps]] unterstützt. Das Format ist relativ platzsparend und kann mit zahlreichen Programmen (u. a. der Hersteller Nvidia und Microsoft) erstellt werden. Zusätzlich sind Plug-ins für verschiedene Grafikprogramme erhältlich (z. B. für [[Bildbearbeitung|GIMP]]), welche den Export in das DDS-Format erlauben. Das DDS-Format wurde von Microsoft entwickelt, um in Spielen die <b>''Geschwindigkeit zu erhöhen''</b>, ohne dabei auf Details zu verzichten. Es wird häufig in Computerspielen oder Benchmarks verwendet, da es schnell in den Grafikspeicher geladen werden kann und <b>''aufgrund der Mipmaps eine schnelle Anzeige''</b> von 3D-Grafiken bietet. DDS-Dateien können intern nicht verlustfrei in verschiedenen Unterformaten komprimiert werden. Die fünf Kompressionsverfahren, auch "[[S3 Texture Compression]]" genannt gliedern wir in: DXT1, DXT2, DXT3, DXT4 und DXT5, wobei der Export der komprimierten Texturen für Eisenbahn.exe Professional®© 7.5 und 8.0 ausschließlich in den Formaten [[D|DXT1]] und [[D|DXT5]] erfolgt.
  
  
Zeile 29: Zeile 29:
  
  
<b>DXTn-Formate</b> wurden von Savage 3D&trade; entwickelt und stellen verlustbehaftete Kompressionsalgorithmen für die Texturkomprimierung dar. Insgesamt wurden <b>''fünf Algorithmen''</b> entwickelt, die <b>''auf demselben Prinzip basieren''</b>, aber für verschiedene Typen von Bilddaten ausgelegt sind. Die Textur wird zunächst in 4x4-Texel-Blöcke zerlegt. Aus den 16 Farbwerten werden zwei 16 Bit RGB565-Farben berechnet. Die einzelnen Algorithmen berechnen aus diesen Beiden weitere Farbwerte und speichern sie in einer Lookup-Tabelle. Wie in einer Grafik mit Farbpalette wird für jedes [[Texel]] <b>''nur der Index des am Besten passenden Farbwertes''</b> in der Tabelle gespeichert und <b>''nicht die Farbe des Texels''</b> selbst. Die Einträge dort können mit nur wenigen Bits adressiert werden, so dass sich bei 32 Bit RGBA-Texturen Kompressionsraten von 8:1 bei DXT1 und 4:1 bei allen anderen Codecs ergeben.<br>
+
<b>DXTn-Formate</b> wurden von Savage 3D&trade; entwickelt und stellen verlustbehaftete Kompressionsalgorithmen für die Texturkomprimierung dar. Insgesamt wurden <b>''fünf Algorithmen''</b> entwickelt, die <b>''auf demselben Prinzip basieren''</b>, aber für verschiedene Typen von Bilddaten ausgelegt sind. Die Textur wird zunächst in 4x4-Texel-Blöcke zerlegt. Aus den 16 Farbwerten werden zwei 16 Bit RGB565-Farben berechnet. Die einzelnen Algorithmen berechnen aus diesen Beiden weitere Farbwerte und speichern sie in einer Lookup-Tabelle. Wie in einer Grafik mit Farbpalette wird für jedes [[T|Texel]] <b>''nur der Index des am Besten passenden Farbwertes''</b> in der Tabelle gespeichert und <b>''nicht die Farbe des Texels''</b> selbst. Die Einträge dort können mit nur wenigen Bits adressiert werden, so dass sich bei 32 Bit RGBA-Texturen Kompressionsraten von 8:1 bei DXT1 und 4:1 bei allen anderen Codecs ergeben.<br>
  
 
:•<b>DXT1</b>. Für jeden 4x4 Textur-Block werden neben den beiden 16 Bit Farbwerten pro Texel ein 2-Bit Index berechnet. Insgesamt werden also 64 Bit pro Block benötigt und die Lookup-Tabelle kann maximal 4 Einträge enthalten. DXT1 komprimiert im Vergleich zu den anderen Algorithmen doppelt so hoch, da hier keine Alpha-Werte gespeichert werden.<br>  
 
:•<b>DXT1</b>. Für jeden 4x4 Textur-Block werden neben den beiden 16 Bit Farbwerten pro Texel ein 2-Bit Index berechnet. Insgesamt werden also 64 Bit pro Block benötigt und die Lookup-Tabelle kann maximal 4 Einträge enthalten. DXT1 komprimiert im Vergleich zu den anderen Algorithmen doppelt so hoch, da hier keine Alpha-Werte gespeichert werden.<br>  
Zeile 35: Zeile 35:
 
:•<b>DXT3</b> komprimiert die Farbwerte wie DXT1, jedoch wird nicht zwischen den beiden Schemata unterschieden, sondern immer die erste Variante mit vier opaken Farben verwendet, Transparenz wird durch einen zusätzlichen 4-Bit Alphakanal ermöglicht. Insgesamt werden 128 Bit pro Block benötigt. DXT3 wegen der harten Berechung von Übergängen zwischen transparenten und opaken Bereichen ab EEP7 nicht mehr verwendet.<br>  
 
:•<b>DXT3</b> komprimiert die Farbwerte wie DXT1, jedoch wird nicht zwischen den beiden Schemata unterschieden, sondern immer die erste Variante mit vier opaken Farben verwendet, Transparenz wird durch einen zusätzlichen 4-Bit Alphakanal ermöglicht. Insgesamt werden 128 Bit pro Block benötigt. DXT3 wegen der harten Berechung von Übergängen zwischen transparenten und opaken Bereichen ab EEP7 nicht mehr verwendet.<br>  
  
:•<b>DXT5 ''komprimiert die Farbwerte wie DXT1''</b>. Es werden zwei 8-Bit [[Alphawerte]] gespeichert, sowie pro Texel ein 3-bit wert, der zum Interpolieren zwischen den Alphawerten dient. Falls der erste Alphawert größer als der zweite ist, werden durch lineares Interpolieren 8 Alphawerte erhalten. Ansonsten werden nur 6 Alphawerte durch Interpolieren erzeugt, während die anderen beiden 0 und 1 sind. Es werden 128 Bit pro Block benötigt.<br>  
+
:•<b>DXT5 ''komprimiert die Farbwerte wie DXT1''</b>. Es werden zwei 8-Bit [[A|Alphawerte]] gespeichert, sowie pro Texel ein 3-bit wert, der zum Interpolieren zwischen den Alphawerten dient. Falls der erste Alphawert größer als der zweite ist, werden durch lineares Interpolieren 8 Alphawerte erhalten. Ansonsten werden nur 6 Alphawerte durch Interpolieren erzeugt, während die anderen beiden 0 und 1 sind. Es werden 128 Bit pro Block benötigt.<br>  
  
Beim Home-Nostruktor 13.0 werden nur zwei Texturkomprimierungsformate benutzt: DXT1 für Textuen ohne Ausschnitte und DXT5 für opake Texturen mit [[Alpha Blending]].
+
Beim Home-Nostruktor 13.0 werden nur zwei Texturkomprimierungsformate benutzt: DXT1 für Textuen ohne Ausschnitte und DXT5 für opake Texturen mit [[A|Alpha Blending]].
  
  
  
 
[http://wiki.eepshopping.de/index.php?title=Hauptseite_EEP_Wiki&redirect=no Zurück zur Startseite]
 
[http://wiki.eepshopping.de/index.php?title=Hauptseite_EEP_Wiki&redirect=no Zurück zur Startseite]

Version vom 15. Dezember 2016, 17:24 Uhr

Direct3D


Direct3D ist eine Programmierschnittstelle (API) von Microsoft für 3D-Computergrafik. Direct3D ist ein Bestandteil von Direct-X™ und dient dazu, Windows-Anwendungen einen möglichst direkten Zugriff auf die Hardware eines Computers zu geben. Häufig verwendet wird Direct3D vor allem für Computerspiele, bei dem es mit dem plattform- und betriebssystemunabhängigen OpenGL™ konkurriert. Direct3D verwendet ein linkshändisches Koordinatensystem und unterscheidet sich in diesem Punkt grundlegend von OpenGL™. Verschiedene Grafikkarten unterstützen Direct3D durch Gerätetreiber, welche die standardisierten API-Befehle von Direct3D auf die Grafikhardware abbilden. Dabei unterscheidet Direct3D zwischen initialisierenden und ausführenden Befehlen. Initialisierende Befehle konvertieren komplexere Datenstrukturen - wie etwa Texturen - in das grafikkarten-spezifische Format, ausführende Befehle zeigen die derart konvertierten Elemente an. Da das Initialisieren und Konvertieren von Elementen einige Zeit in Anspruch nehmen kann, ist es bei Spielen üblich, dies während des Ladens eines neuen Levels zu tun. Ausführende Befehle sind dagegen auf größtmögliche Geschwindigkeit optimiert. Moderne Grafikkarten stellen sogenannte Hardware-Shader zur Verfügung. Diese Shader sind ausführbare Mini-Programme, welche zum Erzeugen von 3D-Effekten benutzt werden. Für die Programmierung der Shader definierte Microsoft eine eigene Maschinensprache, die von den beiden derzeit führenden Produzenten von Grafikchips, NVIDIA und ATI (derzeit von Advanced Micro Devices "AMD" übernommen) in ihren Chips überwiegend direkt unterstützt werden. Direct3D erlaubt es, die verfügbaren Shader-Typen (Vertex-Shader, Pixel-Shader und Geometry-Shader), anzusteuern.




DDS (*.dds) "Direct-Draw-Surface"


DDS (Direct-Draw-Surface)-Format ist ein von Microsoft eingeführtes Dateiformat (Endung .dds) zur Optimierung und Speicherung von Texturen bzw. Cube Maps, das erstmals in Direct-X™ 3.0 vorgestellt wurde. Seit Version 8.0 können auch Volume Textures gespeichert werden. Für die meisten Formate werden auch Mipmaps unterstützt. Das Format ist relativ platzsparend und kann mit zahlreichen Programmen (u. a. der Hersteller Nvidia und Microsoft) erstellt werden. Zusätzlich sind Plug-ins für verschiedene Grafikprogramme erhältlich (z. B. für GIMP), welche den Export in das DDS-Format erlauben. Das DDS-Format wurde von Microsoft entwickelt, um in Spielen die Geschwindigkeit zu erhöhen, ohne dabei auf Details zu verzichten. Es wird häufig in Computerspielen oder Benchmarks verwendet, da es schnell in den Grafikspeicher geladen werden kann und aufgrund der Mipmaps eine schnelle Anzeige von 3D-Grafiken bietet. DDS-Dateien können intern nicht verlustfrei in verschiedenen Unterformaten komprimiert werden. Die fünf Kompressionsverfahren, auch "S3 Texture Compression" genannt gliedern wir in: DXT1, DXT2, DXT3, DXT4 und DXT5, wobei der Export der komprimierten Texturen für Eisenbahn.exe Professional®© 7.5 und 8.0 ausschließlich in den Formaten DXT1 und DXT5 erfolgt.




Drahtgittermodell


Drahtgittermodell (engl.: wire frame model) ist ein dreidimensionales geometrisches Modell, das einen Körper lediglich durch seine Kanten repräsentiert. Ebenfalls mit Drahtgittermodell bezeichnet man eine Darstellungsart in der Computergrafik, die Objekte in dieser Form anzeigt, auch wenn sie auf andere Weise modelliert wurden. Die Modellierung eines Körpers als Drahtgittermodell hat den Nachteil, dass Mehrdeutigkeiten auftreten können: ein Drahtgittermodell kann unter Umständen mehrere unterschiedliche Körper repräsentieren. Bei der Darstellung als Drahtgittermodell werden die Eckpunkte eines Objektes durch Linien miteinander verbunden. Liegt dem darzustellenden Objekt ein Polygonnetz zugrunde, so werden einfach die Kanten desselben dargestellt. In dieser einfachen Version kann man durch das Modell (zwischen den "Drähten") durchschauen und die ansonsten verdeckten Teile sehen.




DXTn-Formate


DXTn-Formate wurden von Savage 3D™ entwickelt und stellen verlustbehaftete Kompressionsalgorithmen für die Texturkomprimierung dar. Insgesamt wurden fünf Algorithmen entwickelt, die auf demselben Prinzip basieren, aber für verschiedene Typen von Bilddaten ausgelegt sind. Die Textur wird zunächst in 4x4-Texel-Blöcke zerlegt. Aus den 16 Farbwerten werden zwei 16 Bit RGB565-Farben berechnet. Die einzelnen Algorithmen berechnen aus diesen Beiden weitere Farbwerte und speichern sie in einer Lookup-Tabelle. Wie in einer Grafik mit Farbpalette wird für jedes Texel nur der Index des am Besten passenden Farbwertes in der Tabelle gespeichert und nicht die Farbe des Texels selbst. Die Einträge dort können mit nur wenigen Bits adressiert werden, so dass sich bei 32 Bit RGBA-Texturen Kompressionsraten von 8:1 bei DXT1 und 4:1 bei allen anderen Codecs ergeben.

DXT1. Für jeden 4x4 Textur-Block werden neben den beiden 16 Bit Farbwerten pro Texel ein 2-Bit Index berechnet. Insgesamt werden also 64 Bit pro Block benötigt und die Lookup-Tabelle kann maximal 4 Einträge enthalten. DXT1 komprimiert im Vergleich zu den anderen Algorithmen doppelt so hoch, da hier keine Alpha-Werte gespeichert werden.
DXT3 komprimiert die Farbwerte wie DXT1, jedoch wird nicht zwischen den beiden Schemata unterschieden, sondern immer die erste Variante mit vier opaken Farben verwendet, Transparenz wird durch einen zusätzlichen 4-Bit Alphakanal ermöglicht. Insgesamt werden 128 Bit pro Block benötigt. DXT3 wegen der harten Berechung von Übergängen zwischen transparenten und opaken Bereichen ab EEP7 nicht mehr verwendet.
DXT5 komprimiert die Farbwerte wie DXT1. Es werden zwei 8-Bit Alphawerte gespeichert, sowie pro Texel ein 3-bit wert, der zum Interpolieren zwischen den Alphawerten dient. Falls der erste Alphawert größer als der zweite ist, werden durch lineares Interpolieren 8 Alphawerte erhalten. Ansonsten werden nur 6 Alphawerte durch Interpolieren erzeugt, während die anderen beiden 0 und 1 sind. Es werden 128 Bit pro Block benötigt.

Beim Home-Nostruktor 13.0 werden nur zwei Texturkomprimierungsformate benutzt: DXT1 für Textuen ohne Ausschnitte und DXT5 für opake Texturen mit Alpha Blending.


Zurück zur Startseite