---
title: "Textures"
summary: "The photoscanned ground and rock texture sets the caves are made of, each with its colour, normal and surface maps."
status: in-game  # Exists in the current build; generated from or checked against its code
section: "Art Direction"
html: textures.html
source: www/content/art/textures.md
---

# Textures

*The photoscanned ground and rock texture sets the caves are made of, each with its colour, normal and surface maps.*

The only textures in the game are the stone of the caves, read from `crates/client/assets/textures/` when the site is built. Each set has three maps: albedo (the colour), a normal map (the bumps, green pointing up) and ARM (ambient occlusion, roughness and metalness in the red, green and blue channels). The client loads them as three array textures, one layer per set, and blends them on the floor and walls (`cave::stone_textures`). Monsters, the party and props carry no textures: see [Models](../art/models.md). The [asset explorer](../art/assets.md) shows each map's channels alone and each set lit on a sphere or a plane.

## Cliff side

[See the set lit, and each map's channels, in the explorer](../art/assets.md#textures/cliff_side)

- [cliff_side_diff_1k.jpg](../assets/game/textures/cliff_side_diff_1k.jpg): 1024 × 1024 px · 840 KB · Albedo (sRGB)
- [cliff_side_nor_gl_1k.jpg](../assets/game/textures/cliff_side_nor_gl_1k.jpg): 1024 × 1024 px · 984 KB · Normal (OpenGL: green up)
- [cliff_side_arm_1k.jpg](../assets/game/textures/cliff_side_arm_1k.jpg): 1024 × 1024 px · 538 KB · AO, roughness, metalness (linear)

## Rock boulder cracked

[See the set lit, and each map's channels, in the explorer](../art/assets.md#textures/rock_boulder_cracked)

- [rock_boulder_cracked_diff_1k.jpg](../assets/game/textures/rock_boulder_cracked_diff_1k.jpg): 1024 × 1024 px · 975 KB · Albedo (sRGB)
- [rock_boulder_cracked_nor_gl_1k.jpg](../assets/game/textures/rock_boulder_cracked_nor_gl_1k.jpg): 1024 × 1024 px · 1,054 KB · Normal (OpenGL: green up)
- [rock_boulder_cracked_arm_1k.jpg](../assets/game/textures/rock_boulder_cracked_arm_1k.jpg): 1024 × 1024 px · 485 KB · AO, roughness, metalness (linear)

## Rock ground

[See the set lit, and each map's channels, in the explorer](../art/assets.md#textures/rock_ground)

- [rock_ground_diff_1k.jpg](../assets/game/textures/rock_ground_diff_1k.jpg): 1024 × 1024 px · 799 KB · Albedo (sRGB)
- [rock_ground_nor_gl_1k.jpg](../assets/game/textures/rock_ground_nor_gl_1k.jpg): 1024 × 1024 px · 1,397 KB · Normal (OpenGL: green up)
- [rock_ground_arm_1k.jpg](../assets/game/textures/rock_ground_arm_1k.jpg): 1024 × 1024 px · 341 KB · AO, roughness, metalness (linear)

From `crates/client/assets/textures/README.md`, Textures

Photoscanned texture sets from [Poly Haven](https://polyhaven.com), all under [CC0 1.0](https://creativecommons.org/publicdomain/zero/1.0/) (public domain: no attribution required; credited here anyway). Downloaded at 1K as JPG, unmodified, and embedded in the binary. `cave::stone_textures` loads them into three array textures (albedo, normal, ARM), one layer per set, with mipmaps built at startup.

Each set has three maps: `_diff` (albedo, sRGB), `_nor_gl` (normal map, OpenGL convention: green points to the top of the image) and `_arm` (linear: R ambient occlusion, G roughness, B metalness).

| Layer | Files | Poly Haven asset | Size on the ground | Authors | Used for |
| --- | --- | --- | --- | --- | --- |
| 0 ground | `rock_boulder_cracked_{diff,nor_gl,arm}_1k.jpg` | [Rock Boulder Cracked](https://polyhaven.com/a/rock_boulder_cracked) | 1.39 m | Dimitrios Savva, Dario Barresi | the Cinder floor's cracked rock |
| 1 dust | `rock_ground_{diff,nor_gl,arm}_1k.jpg` | [Rock Ground](https://polyhaven.com/a/rock_ground) | 1.5 m | Rob Tuytel | dust and gravel blended over it |
| 2 rock | `cliff_side_{diff,nor_gl,arm}_1k.jpg` | [Cliff Side](https://polyhaven.com/a/cliff_side) | 1.83 m | James Ray Cock, Dario Barresi, Jenelle van Heerden | the walls and rock props (triplanar) |

Licence: CC0 1.0 Universal, [https://polyhaven.com/license](https://polyhaven.com/license).
