Texturen, die auf der Oberfläche eines Blocks angebracht werden, müssen die folgenden Voraussetzungen erfüllen:
Texturen lassen sich sowohl aus WAD-Dateien, als auch aus Ordnern anwenden. Unterstützte Bildformate sind PCS, BMP, TGA und DDS. Für hochauflösende Texturen von 24 oder 32 Bit Farbtiefe verwenden Sie das TGA-Format; für geringen Speicherverbrauch nehmen Sie das komprimierte DDS-Format von nur 4 Bit Farbtiefe. PCX- oder BMP-Texturen werden in niedriger Qualität von 16 bit Farbtiefe gespeichert. Aus Gründen alten Erbes werden auch palettenabhängige 8-Bit PCX- und BMP-Texturen unterstützt, dabei muss aber je Level dieselbe Palette benutzt werden. Die erste Farbe der Palette (color #0) muss immer schwarz, die letzte (color #255) immer weiß sein. Sollten Sie nicht wissen, was eine Palette ist, verwenden Sie besser keine 256-Farben-Bilder.
PCX- und BMP-Bilder können durch eine Skripteinstellung (d3d_texdepth) beim Laden des Levels in das komprimiertes 4-bit-DDS-Format konvertiert werden. Das 4-bit-Format reduziert zwar die Texturqualität und erhöht die Ladezeit des Levels durch den Prozess des Konvertierens, kann jedoch eine Menge Videospeicher sparen. Originale DDS-Bilder können mit dem DirectX Texture Tool, ATI´s Compressionator oder einen Photoshop-Plugin erstellt werden. Sie können Mipmaps enthalten und verwenden auf Kosten der Bildqualität ein komprimiertes 4-bit-Oberflächenformat (DXT1..DXT5) zum Sparen von Videospeicher. Sie haben den Vorteil kleiner Leveldateien, schnellen Ladens und schnellen Renderns und sind das bevorzugte Format für alle alle Oberflächenteturen mittlerer Qualität.
4 Mipmap-Levels für TGA-, PCX-, und BMP-Texturen werden beim Kompilieren des Levels automatisch erstellt. Mipmaps erhöhen sowohl die Rendergeschwindigkeit als auch die visuelle Qualität weit entfernter Texturen. DDS-Texturen enthalten ihre eigenen Mipmaps, daher werden für sie keine extra Mipmaps erstellt.
Ein Alphakanal wird bei 32-Bit-TGA-Texturen und bei den Texturformaten DXT2..DXT5 DDS unterstützt. Bei Levelblocks wird der Alphakanal nicht für die Transparenz, sondern für Shadereffekte verwendet, normalerweise für eine Spiegelmap. Für transparente Objekte müssen Entities verwendet werden.
Ist sie sechs mal so breit wie hoch, wird die Textur für einen "Himmels-Würfel" (sky cube), der das Level umschliesst, verwendet (s. zweites Bild). Um den Sky Cube im 3D-Fenster darzustellen, aktivieren Sie in Preferences -> Advanced `Sky Cube´ .
Kompliziertere Multi-Layer-Himmel können per Skript definiert werden; siehe sky entity section.
Endet der Name einer Textur mit "_n", wird die Texstur als Normal-Map für eine Grundtextur mit demselben Namen benutzt. Von einer Textur mit dem Namen "stones2_n" wird beispielsweise erwartet, dass sie eine Normal-Map für die Textur "stones2" beinhaltet. Die Normal-Map darf nicht direkt auf eine Oberfläche angewandt werden - sie wird automatisch eingebunden. Um eine Normal-Map zu benutzen, müssen Sie der Oberfläche ein Material mit einem Normalenmapping-Shader zuweisen. (Näheres unter Das Verwenden von Shadern). Die Bibliothek mtlFX.c enthält diverse Normalenmapping-Materialien. A7
Der Alphakanal von Normalentexturen wird für eine Höhenmap in den Parallax- und Okklusions-Shadern verwendet.