# Textures

## Summary

**Published:** Mar 5 2023 by [mana vortex](mailto:undefined)\
**Last documented edit:** Feb 21 2025 by [mana vortex](mailto:undefined)

This page contains the **theory section** for textures in Cyberpunk. It will give you an overview about different kinds of texture, and what the game is using them for.

###

{% hint style="info" icon="question" %}

#### Wait, this is not what I want!

* For the hands-on guide section, check [Modding Guides -> Textures and LUTs](/cyberpunk-2077-modding/modding-guides/textures-and-luts.md)
* If you just want to know how to import/export textures, see [here](/cyberpunk-2077-modding/modding-guides/textures-and-luts/images-importing-editing-exporting.md).
* For texture import settings and what they do, check the [WolvenKit](https://wiki.redmodding.org/wolvenkit/) -> [Import/Export: Textures](https://wiki.redmodding.org/wolvenkit/wolvenkit-app/usage/import-export/textures) -> [Import/Export: Textures](https://wiki.redmodding.org/wolvenkit/wolvenkit-app/usage/import-export/textures#texture-group)
  {% endhint %}

## About textures

You can't use textures in Cyberpunk without first converting them to `.xbm`. To learn more about the reasons, check [Textures: .xbm files](/cyberpunk-2077-modding/for-mod-creators-theory/files-and-what-they-do/file-formats/materials/textures-.xbm-files.md).

{% hint style="info" %}
By default, all textures in Cyberpunk2077 are Y-flipped (upside down). WolvenKit will take care of that for you during import/export via the `VFlip` property.
{% endhint %}

### Texture naming conventions

{% hint style="success" %}
If you stick to CDPR's naming convention, Wolvenkit can automatically pick the right import settings for you!
{% endhint %}

Across the game files, textures are clearly marked via **suffix**. If there are multiple textures with the same suffix, they will just be numbered.

#### Example:

```bash
my_custom_item_d01.xbm            # diffuse/albedo 1
my_custom_item_d02.xbm            # diffuse/albedo 2
my_custom_item_n.xbm              # normal map
```

<table><thead><tr><th width="94">suffix(es)</th><th width="649">type of texture</th></tr></thead><tbody><tr><td>_d</td><td><a data-mention href="#diffuse-albedo">#diffuse-albedo</a></td></tr><tr><td>_n</td><td><a data-mention href="#normal">#normal</a></td></tr><tr><td>_m</td><td><a data-mention href="#metalness">#metalness</a></td></tr><tr><td>_r</td><td><a data-mention href="#roughness">#roughness</a></td></tr><tr><td>_rm</td><td><a data-mention href="#combined-roughness-metalness">#combined-roughness-metalness</a></td></tr></tbody></table>

## Types of files

### Diffuse/Albedo

This texture is directly projected onto a mesh to give it colour and appearance. Used by shaders like `metal_base.remt`.

#### Naming convention:

In the game files, these files will be named `<name>_d.xbm` (e.g. `base\environment\decoration\food\packaged_food\textures\synthetic_snack_01_d.xbm`)

{% hint style="warning" %}
When importing a diffuse texture with a non-default file name, make sure to check the isGamma box in the import properties.
{% endhint %}

### Normal

Also known as "bump map", this texture is used to give a mesh depth and surface details. Used by shaders like `metal_base.remt`.

{% hint style="info" %}
For more technical details, see [Normal Maps in Cyberpunk](/cyberpunk-2077-modding/for-mod-creators-theory/materials/textures/normal-maps-in-cyberpunk.md)
{% endhint %}

#### Naming convention:

In the game files, these files will be named `<name>_n.xbm` (e.g. `base\environment\decoration\food\packaged_food\textures\synthetic_snack_01_n.xbm`)

{% hint style="info" %}
For a guide how to make your own normal maps, see [here](/cyberpunk-2077-modding/modding-guides/textures-and-luts/self-made-normal-maps.md).
{% endhint %}

### Roughness

Also known as "gloss map", this texture defines how light scatters across the surface of your 3d model. Used by shaders like `metal_base.remt`.

```
White => very rough
Black => very smooth
```

For an overview image, see [Roughness/Metalness overview](#roughness-metalness-overview).

#### Naming convention:

In the game files, these files will be named `<name>_r.xbm` (e.g. `base\environment\decoration\food\packaged_food\textures\synthetic_snack_01_r.xbm`)

### Metalness

Also known as "metallic map", this texture defines which parts of the material behave like metal and which parts don't. Used by shaders like `metal_base.remt`.

```
White => metal
Black => not metal
```

For an overview image, see [Roughness/Metalness overview](#roughness-metalness-overview).

#### Naming convention:

In the game files, these files will be named `<name>_m.xbm` (e.g. `base\envment\decoration\food\packaged_food\textures\synthetic_snack_01_m.xbm`)

### Combined Roughness/Metalness

Some shaders use a combi-texture for roughness and metalness.

{% hint style="info" %}
Since by default, roughness and metalness are inverted (white in one is black in the other), you can only use this for shaders that expect such a texture.
{% endhint %}

#### Naming convention:

In the game files, these files will be named my\_texture\_rm`.xbm`

### Atlas

Used for in-game items and UI elements, these textures contain a collection of images. They are made available to the game via [**inkatlas**](/cyberpunk-2077-modding/for-mod-creators-theory/files-and-what-they-do/file-formats/game-icons-the-inkatlas-file.md) files.

#### Naming convention:

In the game files, these files will be named `atlas_<name>.xbm` (e.g. `base\gameplay\gui\fullscreen\hacking_minigame\atlas_minigame_programs.xbm`)

## Additional intel

### Roughness/Metalness overview

<figure><img src="https://3dcoat.com/forum/uploads/monthly_2017_11/3DC_PBR.thumb.jpg.e5e6dfadbb34dfc4e806871be9fb203c.jpg" alt=""><figcaption><p>via <a href="https://3dcoat.com/forum/index.php?/topic/21601-3dc-roughness-metalness-visual-aid/">https://3dcoat.com/forum/index.php?/topic/21601-3dc-roughness-metalness-visual-aid/</a></p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://wiki.redmodding.org/cyberpunk-2077-modding/for-mod-creators-theory/materials/textures.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
