FIXED: Anti-aliasing with ACEScg & 16-bit render

I am observing a non-commercial TD setup with 16-bit render and anti-aliasing enabled but it looks like no anti-aliasing is happening, regardless of whether it is done via Render TOP param or a dedicated op. Is it a known (but maybe undocumented) limitation of non-commercial TD or is something wrong in the project and I should post screenshots/source file? This is on macOS, Apple Silicon.

Hi @osigf,

there is no limitation in that regard on Non-Commercial licenses.
A screenshot of the output as well as a file showing a setup that causes this issue will help us replicate it.

cheers
Markus

I have a reproduction ready. One of my mistakes was that it seems to depend on color space, not bit depth.

To reproduce:

  • Open test-aa.toe, open viewer for Anti Alias TOP, and enable/disable AA TOP or change quality (low/ultra). You should see visual changes.
  • Open test-aa-acescg.toe, open viewer for Anti Alias TOP, and enable/disable AA TOP or change quality (low/ultra). You would observe no change (at least that’s the case for me with the latest release).

test-aa.toe (6.9 KB)

test-aa-acescg.toe (7.0 KB)

Here are screenshots. First two is AA node on, AA node off & on using default color space (edit: reordered screenshot to correspond with the text):

Then, AA node on/off in the exact same project but in ACEScg—no difference:

Hi @osigf,

thanks for preparing the examples, we are having a look.

cheers
Markus

1 Like

Hey,

So there is a few things happening here. With your light’s dimmer so high, this object is a brightness of ~300 nits.

Using the Render TOP’s anti-alias:

On my GPU with 4x anti-alias, in this example the anti-aliased samples are around 200nits. So depending on the monitor you are viewing the content on, the whole object is blown out, including the edge pixels. So you can’t see the anti-aliasing. However if slightly shift the object using the geo1’s translate parameter (by increments of 0.001 in X), you can see the anti-aliasing appear, as some of the edge pixels end up reaching much lower values that arn’t blown out anymore.

For the Anti-Alias TOP I’m not sure what’s happening yet, as I don’t see any blended pixels getting created. It’s possible it doesn’t work well with floating point textures. I’ll look at this more

1 Like

Thanks for looking at it. I’d question the “blown out” part, since I believe I’m looking at it through a calibrated display capable of sustained whole-screen 1000 nits, so 200 nits is child’s play. I’m actually happy how TD handles color profiles now (aside from anti-aliasing troubles), as far as I can see it generally works as one would expect and finally these displays can have good use.

Yes, once I started reproducing this I was able to visually spot some effect from anti-aliasing in Render TOP (at least between 1x and 32x settings), so I focused the repro just on the Anti Alias TOP.

Back when I tried to debug anti-aliasing on my projects I tried shifting anti-aliasing down the chain slightly. In some projects AA TOP cannot detect the edges I want when it’s right after Render, but it can when it’s down the line apparently. When even after confirming the edges it did not have effect, I thought anti-aliasing is generally broken.

Thanks for the check and the feedback. The techniques used in the Render TOP vs the Anti-Alias TOP are totally different, so it’s not a general issue with anti-aliasing.

If you use a TOP To CHOP, and zoom in on the edges of geometry (press ‘d’ to show dots in the viewer), do you see a step-down value at the edge?

I just tried on my Asus ProArt monitor as well as my Macbook Pro M3’s monitor, and I’m able to see the anti-aliasing for all levels coming out of the Render TOP with your aces-cg example. (Except for 2x).

The anti-alias TOP is not doing anything though still, so I’ll continue to look at that.

The AntiAlias TOP will be fixed in builds 2025.31905+. Thanks for the report on that too.

1 Like

Yes per previous comment in the repro project I was able to see anti-aliasing from basic Render TOP in ACEScg, hence just focusing on the AA TOP.

Apparently in my actual projects the jagged edges straight out of Render TOP are not sufficiently detected (not yet sure if it’s due to what I specifically am doing, or due to anti-aliasing working differently in ACES, will see later), so tried shifting anti aliasing down the chain with AA TOP also to no avail (it detects edges correctly then, but does nothing), hence thought anti-aliasing is broken. Looking forward to the build with the fix, thanks!

Ah ok, I think I mis-read your comments. And I wasn’t on an HDR monitor start so I was getting aliasing so I thought I was seeing the same as you (due to blowout on my monitor).

Happy this is all working now. If you have any comments about the color space workflows please don’t hesitate to post about them.