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.