Замена вычислительного шейдера на ядро ​​openCL, o/p пикселизируется и мерцает, хотя значения в буфере o / p совпадают

У меня есть приложение, в котором есть разные шейдеры, одним из которых является вычислительный шейдер, который вычисляет значения света в сцене, значения света рассчитываются с помощью функции накопления, записанной в вычислительном шейдере.

Я написал ядро ​​openCL (.cl), похожее на файл вычислительного шейдера (.hlsl).

Я заменил вычислительный шейдер на ядро ​​openCL,

У меня есть те же значения в выходном световом буфере, что и выходные данные вычислительного шейдера,

Но выходные данные выглядят точечно и мерцают на экране, а квадрат прямоугольника одной маленькой единицы пиксельного вывода соответствует размеру рабочей группы моего ядра.

Так как выходной световой буфер (я уверен, что это единственный выходной буфер) имеет те же значения, что и вычислительный шейдер, я не смог выяснить, где происходит сбой моей программы.

Кто-нибудь сталкивался с подобной проблемой раньше? Любые намеки или предложения будут полезны.

0 ответов

Другие вопросы по тегам