# World 2D in HDR 2D that tonemaps and blooms with the 3D scene. ```{raw} html ▶ Run in browser ``` **Tags:** `3d` `2d` `hdr` `post-processing` `bloom` Demonstrates the N1 "2D in HDR" model: when post-processing is on, world-space 2D (sprites / shapes / particles) renders INTO the HDR buffer before tonemap, so it gets exposure, tonemap and bloom consistently with the 3D scene. Screen-space 2D (HUD/UI) stays crisp post-tonemap at authored LDR. A per-node ``hdr`` override forces a node either way. What to look for: - The bright 2D star (a world-space Polygon2D with colour > 1) BLOOMS, just like an emissive 3D surface -- impossible before N1 (2D used to paste on flat). - The grey "auto" quad and the 3D cube darken/brighten TOGETHER as you change exposure (both go through tonemap). - The "hdr=False" quad keeps its exact authored colour at any exposure (the escape hatch for stylised flat 2D). - The HUD text stays crisp and fixed regardless of exposure (screen-space LDR). Controls: Left / Right - Adjust tonemap exposure Space - Cycle the demo quad's hdr override (auto / on / off) [desktop only] B - Toggle bloom A / D - Orbit camera Escape - Quit Run: uv run python examples/features/3d/world_2d_in_hdr.py ## Source ```{literalinclude} ../../examples/features/3d/world_2d_in_hdr.py :language: python :linenos: ```