# W Barcelona environment assets

Retrieved 2026-09-05 from the official Poly Haven public API and asset CDN. These are generic lighting/material references, not captures of W Barcelona. No Blender scene was modified by this asset task.

## License and provenance

All downloaded HDRIs and texture maps are CC0 according to [Poly Haven asset license](https://polyhaven.com/license). Commercial use and redistribution are permitted; attribution is retained here for provenance. API metadata is stored in the adjacent `*-files.json` and `*-info.json` files. The files endpoints provide original CDN URLs, byte sizes and MD5 digests. See [official API schema](https://github.com/Poly-Haven/Public-API/blob/master/swagger.yml).

## Lighting

- **Preferred for a modeled coastline:** [Qwantani Late Afternoon (Pure Sky)](https://polyhaven.com/a/qwantani_late_afternoon_puresky), Greg Zaal (photography), Jarod Guest (processing). `qwantani_late_afternoon_puresky_4k.hdr`, 4096 × 2048. A photographed sky edited to remove terrain: low sun, pale warm haze and subtle wisps, blue upper sky. Visually inspected the official tonemapped panorama. It has a restrained horizon, not dramatic cloud banks. Start World strength near 0.7–1.0 and rotate to the intended shadow direction; tune using the render exposure. The lower hemisphere is edited fill and should be covered by scene sea/ground.

- **Coastal daylight alternative:** [Secluded Beach](https://polyhaven.com/a/secluded_beach), Greg Zaal (HDRI), Rico Cilliers (backplates, not downloaded). `secluded_beach_4k.hdr`, 4096 × 2048. Real coastal partly-cloudy daylight with a stronger sun and delicate cloud detail. The catalog identifies morning light rather than a verified late-afternoon capture. Visually inspected the official tonemapped panorama: nearby trees and boulders surround the water. Use for illumination/reflections or conceal its foreground with modeled geometry; do not present that terrain as Barcelona.

Tonemapped `*-preview.jpg` panoramas are the official asset derivatives used for visual assessment, not the HDR light sources.

## Texture sets

| Asset | Author | Local prefix | Maps / intended use | Nominal coverage |
|---|---|---|---|---|
| [Aerial Beach 01](https://polyhaven.com/a/aerial_beach_01) | Rob Tuytel | `aerial_beach_01` | 2K diffuse, OpenGL normal, roughness, displacement; sand terrain | 30 × 30 m |
| [Concrete Floor 02](https://polyhaven.com/a/concrete_floor_02) | Rob Tuytel | `concrete_floor_02` | 2K diffuse, OpenGL normal, roughness, displacement; weathered promenade/substructure | 2 × 2 m |
| [Rock Boulder Dry](https://polyhaven.com/a/rock_boulder_dry) | Dimitrios Savva (photography), Rico Cilliers (processing) | `rock_boulder_dry` | 2K diffuse, OpenGL normal, roughness, displacement; breakwater rocks | about 1.8 × 1.8 m |

All texture maps are JPEG. Use diffuse as sRGB; normals, roughness and displacement as Non-Color. Connect `nor_gl` through a Normal Map node. Displacement JPEGs are adequate for subtle bump; avoid strong true displacement where 8-bit quantization becomes visible. Concrete has weathering and should not be applied undiluted to pristine hotel surfaces. Nominal coverage comes from the API dimensions (millimeters), with sand also explicitly marked 30 m on the asset page.

Existing `walk/assets/pbr` contains interior oak maps and irradiance derivatives rather than suitable coastal exterior sets, so those files were left unchanged.

## Verification

Every HDRI and PBR map was checked against official API byte size and MD5 before saving. Both HDR headers identify Radiance RGBE images. SHA-256 inventory follows for reproducibility.

| File | Bytes | SHA-256 |
|---|---:|---|
| `aerial_beach_01_diff_2k.jpg` | 457152 | `1803d7e2861b304bea6d2e124dcd4c657fcb93843b84c17bb2db98ce48a87e4e` |
| `aerial_beach_01_disp_2k.jpg` | 514856 | `73c4795adc4232511b1810995eb6740295ff6d713df5b57573f9413565231f20` |
| `aerial_beach_01_nor_gl_2k.jpg` | 863847 | `0f35185b7225fe2027897bb7e4586c7deb048817524f1ed104fdae7ce80bdc06` |
| `aerial_beach_01_rough_2k.jpg` | 505596 | `318b440c109de7411f9e7443f38ae3cf873f34e90afd762c931bae3b23426da2` |
| `concrete_floor_02_diff_2k.jpg` | 3310792 | `b08a20dcb306d08ee7f4a05ec216b19b7fd37e95745998ec5f81ecedaac1f0e9` |
| `concrete_floor_02_disp_2k.jpg` | 438795 | `42d7bc227614d6a12a7d0d4f009bd17db478965957b9b23b87daceaa10eb1d08` |
| `concrete_floor_02_nor_gl_2k.jpg` | 935810 | `ce12d18f283f884f4be6f6c110f81582376049caada1e226958659d3d5fbaae1` |
| `concrete_floor_02_rough_2k.jpg` | 1417673 | `cb539b0f8fdc8c63241683e01c923eb040fa701ec4c60cff27b674294746ae67` |
| `qwantani_late_afternoon_puresky-preview.jpg` | 18949886 | `d247fbe9aed3cdda3315494c3741f2603f669aded5828f16d3b1cc2c3f36649f` |
| `qwantani_late_afternoon_puresky_4k.hdr` | 17745266 | `d820fa7a84732f69641655dcbea33b01ff78e6a4833ee3ca6f3bc938a0c09bb7` |
| `rock_boulder_dry_diff_2k.jpg` | 3437626 | `c66de7f7b48ef1ba542c17af780787ca6d43da2160a46ff3544dd9fcdf65ca30` |
| `rock_boulder_dry_disp_2k.jpg` | 785931 | `e8ef6d94411f6b8396425426c08d9848feb0c81ac29c4a6acae28342786f17a1` |
| `rock_boulder_dry_nor_gl_2k.jpg` | 3307320 | `72a3c96d563fc17ac36c568802e106222e6480512d98e07318e1f431cea33dd6` |
| `rock_boulder_dry_rough_2k.jpg` | 2706723 | `63bb4105e6f60b5968da785afc292b94026a5afa6f18388e98b00232e9e2c433` |
| `secluded_beach-preview.jpg` | 7853973 | `32d8c1b2d8a738c6b1cf34e3090aa7b388df1b31b962a2d2c7cfd3021852f1af` |
| `secluded_beach_4k.hdr` | 25375378 | `b34a9e65cc89b541924ae879f80e19a6cb9d7b0a94086b1e1504fb98f4d2cc5d` |

## Updated hero lighting choice

The initial Qwantani late-afternoon sky read too pale in the final camera. Use [Kloofendal 48d Partly Cloudy (Pure Sky)](https://polyhaven.com/a/kloofendal_48d_partly_cloudy_puresky) for the revised hero: Greg Zaal (original photography), Jarod Guest (sky edits), CC0. `kloofendal_48d_partly_cloudy_puresky_4k.hdr`, 4096 × 2048 Radiance RGBE. Official panorama visually inspected: clearly defined cumulus clouds, blue sky and small cloud detail near the horizon. This is midday lighting, deliberately replacing the late-afternoon direction for a brighter coastal presentation.

Official API metadata is saved in `kloofendal_48d_partly_cloudy_puresky-files.json` and `kloofendal_48d_partly_cloudy_puresky-info.json`. File byte size and MD5 matched API metadata; SHA-256: `3061c00a16ecae748e84fd6c44c04804f539c118bb66325db858bad87b11bf88`. `kloofendal_48d_partly_cloudy_puresky-preview.jpg` is the official tonemapped panorama used for assessment.
