# Where every one of these textures came from Dave's whole site is built on citing its sources, so this file records, for every file in this directory, the site it came from, the asset, the exact URL, the licence, and the day it was fetched. If a file is not listed here it does not belong here. **Both sources are CC0 1.0 Universal** -- a public domain dedication, not a permissive licence. Commercial use, modification and redistribution are all allowed and attribution is not required. Each site's own words were read on the date shown, not taken on trust: - **Poly Haven** -- -- "All assets (HDRIs, textures and 3D models) on this site are the original work of Poly Haven staff, or artists who willingly and directly donate/sell their work to Poly Haven. Our assets are all licensed as CC0 ... You can use our assets for any purpose, including commercial work. You do not need to give credit or attribution when using them (although it is appreciated). You can redistribute them." - **ambientCG** -- -- "All ambientCG assets are provided under the Creative Commons CC0 1.0 Universal License ... You can copy, modify, distribute and perform the assets, even for commercial purposes, all without asking permission. You can include the raw files in your project, for example a video game." Neither site requires attribution. We credit the artists anyway, because that is how this project treats every other source it uses. Nothing here is AI-generated, scraped, or of uncertain provenance. Every file below is a derivative of one named CC0 asset: downsampled, its channels repacked, and its capture lighting gradient removed. The derivation is in `../tools/make_textures.py` and is reproducible from the URLs listed. Built 2026-09-28. 10 materials, each shipped at 512 and 256 px. --- ## `duff_conifer` *canopy: the needle mat under a conifer stand* | | | |---|---| | Source site | ambientCG | | Asset | **Ground 082 L** (`Ground082L`) | | Asset page | | | Artist | Lennart Demes (ambientCG) | | Published by the source | 2024-10-03 | | Licence | CC0 1.0 Universal (public domain dedication) | | Licence page | | | Licence verified | 2026-09-28: ambientcg.com/license reads 'All ambientCG assets are provided under the Creative Commons CC0 1.0 Universal License', commercial use and redistribution allowed, attribution not required. | | Fetched | 2026-09-28 | | Size of one tile in the real world | 2.0 m (ESTIMATED by us -- the source publishes no physical size for this asset. Set from the grain size of the capture against the rest of the set.) | Source files used: - `pack` -- Files shipped from it: - `duff_conifer_512.png` -- 946 KB on disk, 512 px RGBA - `duff_conifer_albedo_512.webp` -- 128 KB on disk, optional colour albedo - `duff_conifer_256.png` -- 228 KB on disk, 256 px RGBA - `duff_conifer_albedo_256.webp` -- 30 KB on disk, optional colour albedo --- ## `soil_forest` *the default open forest floor: dirt with fine stones* | | | |---|---| | Source site | Poly Haven | | Asset | **Forest Ground 04** (`forest_ground_04`) | | Asset page | | | Artist | Rico Cilliers, Rob Tuytel | | Published by the source | 2022-03-21 | | Licence | CC0 1.0 Universal (public domain dedication) | | Licence page | | | Licence verified | 2026-09-28: polyhaven.com/license reads 'Our assets are all licensed as CC0', commercial use and redistribution allowed, attribution not required. | | Fetched | 2026-09-28 | | Size of one tile in the real world | 3.15 m (published by the source site) | Source files used: - `diffuse` -- - `displacement` -- - `rough` -- - `ao` -- Files shipped from it: - `soil_forest_512.png` -- 781 KB on disk, 512 px RGBA - `soil_forest_albedo_512.webp` -- 97 KB on disk, optional colour albedo - `soil_forest_256.png` -- 192 KB on disk, 256 px RGBA - `soil_forest_albedo_256.webp` -- 21 KB on disk, optional colour albedo --- ## `grass_dry` *cured bunchgrass in a meadow or park: low slope, open, photo reads warm* | | | |---|---| | Source site | Poly Haven | | Asset | **Withered Grass** (`withered_grass`) | | Asset page | | | Artist | Charlotte Baglioni | | Published by the source | 2023-09-06 | | Licence | CC0 1.0 Universal (public domain dedication) | | Licence page | | | Licence verified | 2026-09-28: polyhaven.com/license reads 'Our assets are all licensed as CC0', commercial use and redistribution allowed, attribution not required. | | Fetched | 2026-09-28 | | Size of one tile in the real world | 2.0 m (published by the source site) | Source files used: - `diffuse` -- - `displacement` -- - `rough` -- - `ao` -- Files shipped from it: - `grass_dry_512.png` -- 896 KB on disk, 512 px RGBA - `grass_dry_albedo_512.webp` -- 103 KB on disk, optional colour albedo - `grass_dry_256.png` -- 205 KB on disk, 256 px RGBA - `grass_dry_albedo_256.webp` -- 22 KB on disk, optional colour albedo --- ## `gravel` *compacted earth with chipped stone: forest road, camp pad, gravel bar* | | | |---|---| | Source site | Poly Haven | | Asset | **Rocky Trail** (`rocky_trail`) | | Asset page | | | Artist | Amal Kumar | | Published by the source | 2022-10-31 | | Licence | CC0 1.0 Universal (public domain dedication) | | Licence page | | | Licence verified | 2026-09-28: polyhaven.com/license reads 'Our assets are all licensed as CC0', commercial use and redistribution allowed, attribution not required. | | Fetched | 2026-09-28 | | Size of one tile in the real world | 2.0 m (published by the source site) | Source files used: - `diffuse` -- - `displacement` -- - `rough` -- - `ao` -- Files shipped from it: - `gravel_512.png` -- 817 KB on disk, 512 px RGBA - `gravel_albedo_512.webp` -- 96 KB on disk, optional colour albedo - `gravel_256.png` -- 204 KB on disk, 256 px RGBA - `gravel_albedo_256.webp` -- 24 KB on disk, optional colour albedo --- ## `scree` *slope: broken angular rock, talus* | | | |---|---| | Source site | Poly Haven | | Asset | **Gray Rocks** (`gray_rocks`) | | Asset page | | | Artist | Dimitrios Savva | | Published by the source | 2023-10-02 | | Licence | CC0 1.0 Universal (public domain dedication) | | Licence page | | | Licence verified | 2026-09-28: polyhaven.com/license reads 'Our assets are all licensed as CC0', commercial use and redistribution allowed, attribution not required. | | Fetched | 2026-09-28 | | Size of one tile in the real world | 1.8 m (published by the source site) | Source files used: - `diffuse` -- - `displacement` -- - `rough` -- - `ao` -- Files shipped from it: - `scree_512.png` -- 769 KB on disk, 512 px RGBA - `scree_albedo_512.webp` -- 91 KB on disk, optional colour albedo - `scree_256.png` -- 198 KB on disk, 256 px RGBA - `scree_albedo_256.webp` -- 22 KB on disk, optional colour albedo --- ## `dust_dry` *bare dry dirt at the boot-print scale* | | | |---|---| | Source site | Poly Haven | | Asset | **Brown Mud Dry** (`brown_mud_dry`) | | Asset page | | | Artist | Rob Tuytel | | Published by the source | 2018-07-05 | | Licence | CC0 1.0 Universal (public domain dedication) | | Licence page | | | Licence verified | 2026-09-28: polyhaven.com/license reads 'Our assets are all licensed as CC0', commercial use and redistribution allowed, attribution not required. | | Fetched | 2026-09-28 | | Size of one tile in the real world | 1.3 m (published by the source site) | Source files used: - `diffuse` -- - `displacement` -- - `rough` -- - `ao` -- Files shipped from it: - `dust_dry_512.png` -- 860 KB on disk, 512 px RGBA - `dust_dry_albedo_512.webp` -- 121 KB on disk, optional colour albedo - `dust_dry_256.png` -- 212 KB on disk, 256 px RGBA - `dust_dry_albedo_256.webp` -- 28 KB on disk, optional colour albedo --- ## `sand_desert` *Sonoran fines: flat, low slope, open* | | | |---|---| | Source site | Poly Haven | | Asset | **Sandy Gravel 02** (`sandy_gravel_02`) | | Asset page | | | Artist | Dario Barresi | | Published by the source | 2024-10-07 | | Licence | CC0 1.0 Universal (public domain dedication) | | Licence page | | | Licence verified | 2026-09-28: polyhaven.com/license reads 'Our assets are all licensed as CC0', commercial use and redistribution allowed, attribution not required. | | Fetched | 2026-09-28 | | Size of one tile in the real world | 2.53 m (published by the source site) | Source files used: - `diffuse` -- - `displacement` -- - `rough` -- - `ao` -- Files shipped from it: - `sand_desert_512.png` -- 755 KB on disk, 512 px RGBA - `sand_desert_albedo_512.webp` -- 66 KB on disk, optional colour albedo - `sand_desert_256.png` -- 175 KB on disk, 256 px RGBA - `sand_desert_albedo_256.webp` -- 11 KB on disk, optional colour albedo --- ## `pavement_desert` *desert pavement: a lag of grit over fines, the Quartzsite default* | | | |---|---| | Source site | Poly Haven | | Asset | **Gravelly Sand** (`gravelly_sand`) | | Asset page | | | Artist | Dario Barresi | | Published by the source | 2024-10-07 | | Licence | CC0 1.0 Universal (public domain dedication) | | Licence page | | | Licence verified | 2026-09-28: polyhaven.com/license reads 'Our assets are all licensed as CC0', commercial use and redistribution allowed, attribution not required. | | Fetched | 2026-09-28 | | Size of one tile in the real world | 2.48 m (published by the source site) | Source files used: - `diffuse` -- - `displacement` -- - `rough` -- - `ao` -- Files shipped from it: - `pavement_desert_512.png` -- 764 KB on disk, 512 px RGBA - `pavement_desert_albedo_512.webp` -- 88 KB on disk, optional colour albedo - `pavement_desert_256.png` -- 184 KB on disk, 256 px RGBA - `pavement_desert_albedo_256.webp` -- 17 KB on disk, optional colour albedo --- ## `hardpan` *flats and dry washes: sun-baked cracked clay* | | | |---|---| | Source site | Poly Haven | | Asset | **Mud Cracked Dry 03** (`mud_cracked_dry_03`) | | Asset page | | | Artist | Dario Barresi, Dimitrios Savva | | Published by the source | 2022-05-11 | | Licence | CC0 1.0 Universal (public domain dedication) | | Licence page | | | Licence verified | 2026-09-28: polyhaven.com/license reads 'Our assets are all licensed as CC0', commercial use and redistribution allowed, attribution not required. | | Fetched | 2026-09-28 | | Size of one tile in the real world | 1.5 m (published by the source site) | Source files used: - `diffuse` -- - `displacement` -- - `rough` -- - `ao` -- Files shipped from it: - `hardpan_512.png` -- 776 KB on disk, 512 px RGBA - `hardpan_albedo_512.webp` -- 79 KB on disk, optional colour albedo - `hardpan_256.png` -- 201 KB on disk, 256 px RGBA - `hardpan_albedo_256.webp` -- 19 KB on disk, optional colour albedo --- ## `wash_cobble` *wash bottoms and desert pavement with a heavy stone lag* | | | |---|---| | Source site | Poly Haven | | Asset | **Dry River Pebbles** (`dry_river_pebbles`) | | Asset page | | | Artist | Amal Kumar | | Published by the source | 2026-07-12 | | Licence | CC0 1.0 Universal (public domain dedication) | | Licence page | | | Licence verified | 2026-09-28: polyhaven.com/license reads 'Our assets are all licensed as CC0', commercial use and redistribution allowed, attribution not required. | | Fetched | 2026-09-28 | | Size of one tile in the real world | 2.0 m (published by the source site) | Source files used: - `diffuse` -- - `displacement` -- - `rough` -- - `ao` -- Files shipped from it: - `wash_cobble_512.png` -- 737 KB on disk, 512 px RGBA - `wash_cobble_albedo_512.webp` -- 79 KB on disk, optional colour albedo - `wash_cobble_256.png` -- 201 KB on disk, 256 px RGBA - `wash_cobble_albedo_256.webp` -- 24 KB on disk, optional colour albedo --- ## The stacked array files `array_forest_*.png` and `array_desert_*.png` contain nothing new: they are the per-material files above stacked into one vertical strip so a loader can build a WebGL2 texture array from a single decode. Same sources, same licence. - `array_desert_256.png` -- 6 layers, in order: scree, dust_dry, sand_desert, pavement_desert, hardpan, wash_cobble - `array_desert_512.png` -- 6 layers, in order: scree, dust_dry, sand_desert, pavement_desert, hardpan, wash_cobble - `array_forest_256.png` -- 6 layers, in order: duff_conifer, soil_forest, grass_dry, gravel, scree, dust_dry - `array_forest_512.png` -- 6 layers, in order: duff_conifer, soil_forest, grass_dry, gravel, scree, dust_dry