Я пытаюсь сделать деформируемый воксельный ландшафт для проекта для университета. В настоящее время я использую ряд 3DTextures для хранения данных вокселей в «кусках». Мой план состоял в том, чтобы использовать вычислительный шейдер для выполнения алгоритма марширующих кубов на указанных воксельных данных и вывода вершин в буфер, который затем можно было бы визуализировать в каждом кадре.
Проблема в том, что для настройки БПЛА для структурированного буфера, который я использую, мне нужно знать, сколько элементов он будет иметь для NumElements D3D11_BUFFER_UAV. Я могу сделать предположение о максимальном количестве, которое он может содержать, но я не могу узнать, сколько на самом деле будет, пока не завершится вычислительный шейдер, и мне не пришло в голову, что это может быть не лучший способ решения проблемы. .
Все, что мне действительно нужно сделать, это заставить вычислительный шейдер выводить произвольное количество вершин, которые можно сохранить и отобразить позже. Есть идеи, как лучше всего это сделать?