Я хочу реализовать алгоритм A-Buffer для прозрачности, не зависящей от порядка, в моем приложении Metal. В описании техники упоминается использование атомного счетчика. Я никогда не пользовался одним из них и даже не слышал о них. Я только что прочитал об атомарных переменных в спецификации языка Metal Shading, но не могу понять, как на самом деле их реализовать или использовать.
У кого-нибудь есть опыт работы с ними в Metal? Не могли бы вы указать мне на пример того, как настроить и использовать простой целочисленный счетчик? По сути, на каждом проходе рендеринга мне нужно иметь возможность увеличивать целое число внутри фрагментного шейдера, начиная с нуля. Это используется для индексации в A-буфере.
Спасибо!