forge-hdr-tone-mapping

Add a two-pass HDR rendering pipeline with Reinhard or ACES tonemapping to SDL GPU scenes.

Updated Mar 17, 2026
One-click install
npx skills add https://github.com/code-review-benchmark/coderabbit_prs2__forge-gpu__coderabbit__PR323__20260317 --skill forge-hdr-tone-mapping
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: forge-hdr-tone-mapping
Source: https://github.com/code-review-benchmark/coderabbit_prs2__forge-gpu__coderabbit__PR323__20260317/tree/main/.claude/skills/forge-hdr-tone-mapping
Command: npx skills add https://github.com/code-review-benchmark/coderabbit_prs2__forge-gpu__coderabbit__PR323__20260317 --skill forge-hdr-tone-mapping

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve?

HDR tone mapping enables scenes with high dynamic range to display correctly on SDR displays by rendering to a floating-point target and tone-mapping to the swapchain. It preserves detail in bright highlights and provides a filmic look.

Core Features & Use Cases

  • Two-pass HDR rendering: scene → HDR target, then tone map to the swapchain using Reinhard or ACES.
  • Exposure control and configurable tonemapping operators for flexible looks.
  • Use Case: integrate into SDL GPU projects to upgrade visual quality of real-time scenes, shadows, and highlights.

Quick Start

Create a floating-point HDR render target, implement a tone-mapping pass, and output to the swapchain.

Frequently Asked Questions about forge-hdr-tone-mapping

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I add HDR tone mapping to an SDL GPU rendering pipeline?▼

HDR tone mapping in SDL GPU requires a two-pass pipeline: render the scene to a floating-point HDR target, then apply Reinhard or ACES tone-mapping shaders to output to the swapchain. This preserves bright highlights and achieves a filmic look.

What is the difference between Reinhard and ACES tone mapping for real-time rendering?▼

Reinhard and ACES are both configurable tone-mapping operators for HDR rendering. Reinhard offers a simpler dynamic range compression, while ACES provides a filmic look with better color rolloff in highlights. Both support exposure control to adjust scene brightness.

Do I need a floating-point render target for HDR tone mapping in SDL GPU?▼

Yes, a floating-point HDR render target is required for tone mapping in SDL GPU. The scene must first render to this target to capture high dynamic range values, then a separate post-processing pass applies the tone-mapping shader to convert the image for the swapchain.

How does exposure control work with ACES tone mapping in SDL GPU?▼

Exposure control adjusts the brightness of the HDR scene before the ACES tone-mapping operator processes it. This configurable step happens during the post-processing pass, allowing flexible adjustment of the final filmic look when converting the floating-point target to the swapchain.

How do I handle resize and sRGB swapchains when using an HDR rendering pipeline?▼

HDR rendering pipelines require a clear separation between scene and post-processing passes to handle resize events and sRGB swapchains correctly. The floating-point HDR render target must be resized alongside the swapchain, and tone-mapping shaders must output to the correct sRGB format.

Why do bright highlights clip and lose detail in my SDL GPU scenes?▼

Bright highlights clip when rendering directly to an SDR swapchain without HDR tone mapping. Implementing a two-pass pipeline with a floating-point render target and Reinhard or ACES tone-mapping preserves detail in bright areas and produces correct filmic results.