<p>Second link that you've presented is using exactly the same formula as one used in Krzysztof's Narkowicz blog (and used in UE4) - <a href="https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/" rel="nofollow noreferrer">https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/</a> - his blog provide source, which is official ACES github.</p>
<p>At the same time, source provide in first shadertoy code, points to official ACES website - <a href="http://www.oscars.org/science-technology/sci-tech-projects/aces" rel="nofollow noreferrer">http://www.oscars.org/science-technology/sci-tech-projects/aces</a> - in which you can find link to the official ACES github (<a href="https://github.com/ampas/aces-dev" rel="nofollow noreferrer">https://github.com/ampas/aces-dev</a>) which is the same as provided by Krzysztof Narkowicz.</p>
<p><strong>In conclusion:</strong> It looks like both code is using official ACES formula, but different versions. As you can see in ACES github, there are version up to 1.3. Therefore, two shadertoy codes that you've presented are probably using different versions.</p>
<hr />
<p>Edit: Read Nathan Reed's comment below. Indeed I forgot that Krzysztof Narkowicz's version is approximation.</p>

CC BY-SA 4.0
2021-09-20T20:26:48.943Z
The #1 shadertoy also has a couple of matrix transforms in it, in addition to a nonlinear curve, which makes me think that maybe it's applying a more full version of the ACES process including color space transforms, while Krzysztof Narkowicz's version is a luminance-only approximation (as he states in his blog post) that discards the color transforms for simplicity and speed.
Nathan Reed
CC BY-SA 4.0
2021-09-20T19:08:26.473Z
2021-09-20T20:50:38.893Z
2021-09-20T20:50:38.893Z
DirectX_Programmer
<p>In different sources I see ACES tonemapping, but I see one of two possible sets of formulas:</p>
<ol>
<li><a href="https://www.shadertoy.com/view/XsGfWV" rel="nofollow noreferrer">https://www.shadertoy.com/view/XsGfWV</a> this one</li>
<li><a href="https://www.shadertoy.com/view/tdffDl" rel="nofollow noreferrer">https://www.shadertoy.com/view/tdffDl</a> or this</li>
</ol>
<p>I compared them and the first one looks better, it can transform very bright monochromatic light to white.</p>
<p>But the question is: why are they both called ACES and what is the &quot;true&quot; ACES? It seems like number 2 is used a lot though number 1 looks better.</p>

<color>
ACES tonemapping confusion
Emil Kabirov
# ACES tonemapping confusion

(Asked by: username_0 on 2021-09-20)

In different sources I see ACES tonemapping, but I see one of two possible sets of formulas:

1. <https://www.shadertoy.com/view/XsGfWV> this one
2. <https://www.shadertoy.com/view/tdffDl> or this

I compared them and the first one looks better, it can transform very bright monochromatic light to white.

But the question is: why are they both called ACES and what is the "true" ACES? It seems like number 2 is used a lot though number 1 looks better.

**Tags:** color


---

## 1 answers

### Answer by username_1 on 2021-09-20. Score: 3

Second link that you've presented is using exactly the same formula as one used in Krzysztof's Narkowicz blog (and used in UE4) - <https://knarkowicz.wordpress.com/2016/01/06/aces-filmic-tone-mapping-curve/> - his blog provide source, which is official ACES github.

At the same time, source provide in first shadertoy code, points to official ACES website - <http://www.oscars.org/science-technology/sci-tech-projects/aces> - in which you can find link to the official ACES github (<https://github.com/ampas/aces-dev>) which is the same as provided by Krzysztof Narkowicz.

**In conclusion:** It looks like both code is using official ACES formula, but different versions. As you can see in ACES github, there are version up to 1.3. Therefore, two shadertoy codes that you've presented are probably using different versions.

---

Edit: Read username_2 username_2's comment below. Indeed I forgot that Krzysztof Narkowicz's version is approximation.

> **Comments:**
> **username_2**: The #1 shadertoy also has a couple of matrix transforms in it, in addition to a nonlinear curve, which makes me think that maybe it's applying a more full version of the ACES process including color space transforms, while Krzysztof Narkowicz's version is a luminance-only approximation (as he states in his blog post) that discards the color transforms for simplicity and speed.  

---

