Вопросы по теме 'compute-shader'

Способны ли вычисления DirectX 11 записывать более 10 000 вершин в RWStructuredBuffer?
У меня есть буфер вершин с неупорядоченным представлением доступа, который я использую для заполнения вершин с помощью вычислительного шейдера, который обрабатывает БПЛА как RWStructuredBuffer, используя структуру, эквивалентную определению вершины....
248 просмотров
schedule 29.04.2022

Как измерить производительность вычислительного шейдера по времени?
мне нужно измерить время вычислительного шейдера. Но это, конечно, не мелочь. Из OpenGL Wiki - Производительность я понял, что полезно использовать glFinish() до и после вызов шейдера. Но они также говорят, что это не так хорошо, чтобы...
3247 просмотров
schedule 05.04.2023

GL_ARB_SPARSE_TEXTURE с загрузкой/сохранением изображения
Я использую разреженные текстуры с OpenGL 4.4 на последней версии NV-драйвера Win8.1 на дату написания. Кажется, все работает нормально с обычным копированием в зафиксированные регионы. Однако, когда я пытаюсь выполнить операции шейдера...
657 просмотров
schedule 10.12.2022

Привязка буферов к Unreal Engine 4 Customized Compute Shader
Я работаю над проектом на основе Unreal Engine 4, где мне нужно реализовать настраиваемый вычислительный шейдер Directx11. Я следую этому руководству: Учебное пособие по Unreal HLSL , чтобы написать собственный вычислительный шейдер в Unreal Engine...
2024 просмотров

Освобождать буфер после чтения из вычислительного шейдера GL
У меня есть реализация Marching Cubes на графическом процессоре, которая использует последовательность из 6 вычислительных шейдеров GL, при этом каждое чтение из буферов, записанных предыдущими шейдерами, после соответствующих барьеров памяти....
205 просмотров
schedule 17.06.2022

Вычисление MIP-карт с помощью вычислительных шейдеров, было ли это сделано?
Я вручную генерирую MIP-карты с помощью вычислительных шейдеров, так как я не просто фильтрую, а выполняю некоторые вычисления. Прямой подход состоит в том, чтобы для каждого текселя уровня 1 прочитать четыре соответствующих текселя на уровне 0,...
1625 просмотров
schedule 31.03.2023

Вычислительный шейдер не записывает в буфер
Мне нужна помощь в вызове вычислительного шейдера из Qt с использованием QOpenGLFunctions_4 computeProgram_ = new QOpenGLShaderProgram(); computeProgram_->addShaderFromSourceFile(QOpenGLShader::Compute, "../app/shaders/pointcloud.comp");...
643 просмотров
schedule 10.07.2022

Нужно ли создавать новый набор дескрипторов для каждого буфера?
Я новичок в графическом программировании и Vulkan. Я понимаю, что нам нужно привязать буфер к набору дескрипторов, но мне интересно, нужен ли мне новый набор дескрипторов для каждого имеющегося у меня буфера, или я могу descriptorSet связать 2 или...
685 просмотров
schedule 09.02.2024

Металлический вычислительный шейдер с одномерным буфером данных?
Я понимаю, что буфер одномерного массива можно передать металлическому шейдеру, но возможно ли вывести его в буфер одномерного массива? Я не хочу, чтобы он записывался в текстуру — мне просто нужен массив обработанных значений. Я могу получить...
1208 просмотров
schedule 18.09.2022

Семантика барьера () в вычислительном шейдере opengl
Допустим, у меня есть вычислительный шейдер opengl, написанный на GLSL, работающий на NVidia Geforce 970. В начале шейдера при однократном вызове выполняется запись в «буферный объект хранилища шейдеров» (SSBO). Затем я создаю подходящий барьер,...
1273 просмотров

Изображение ядра Metal Compute в масштабе
Я немного запутался, как применить операцию масштабирования к выходной текстуре при использовании вычислительного шейдера. Например, kernel void testCompute (texture2d<half, access::read> inputTexture [[ texture(0) ]],...
994 просмотров

HLSL: как вернуть одно число из вычислительного шейдера?
Я пытаюсь реализовать алгоритм MarchingCubes на вычислительном шейдере, поэтому мне нужно знать фактическое количество сгенерированных треугольников. Я использую Unreal Engine 4 и HLSL (Shader Model 5). Как я могу вернуть один единственный uint из...
801 просмотров

Вычислительные шейдеры Metal threadgroup и threadExecutionWidth
Может ли кто-нибудь объяснить простыми словами, что концептуально представляет группа потоков в вычислительных шейдерах Metal и другие термины, такие как группа SIMD, threadExecutionWidth (wavefront)? Я читал документы, но еще больше запутался....
1288 просмотров

Ошибка утверждения Metal makeComputeCommandEncoder
Я пытаюсь настроить и запустить вычислительное ядро ​​и отправить его вывод в MTKView для рисования. Но я получаю следующий сбой: -[MTLDebugCommandBuffer computeCommandEncoder]:889: failed assertion `encoding in progress' Что не так с кодом...
1872 просмотров
schedule 11.07.2022

Какая польза от нескольких измерений в размере рабочей группы вычислительного шейдера?
Вычислительные шейдеры требуют подсчета рабочих групп при отправке. Это должно быть представлено в 3-х измерениях. То же самое касается размера рабочей группы, указанного в самом вычислительном шейдере. Функция для отправки вычислительного...
840 просмотров
schedule 20.02.2023

Обновление SSBO в вычислительном шейдере
В настоящее время я пытаюсь обновить SSBO, связанный/привязанный к Computeshader. Делая это таким образом, я записываю только первые 32 байта в out_picture , потому что я только memcpy столько ( sizeof(pstruct) ). Вычислительный шейдер:...
650 просмотров
schedule 09.05.2023

imageStore() операция с размерами за пределами размера буфера
У меня есть вычислительный шейдер, в котором у меня есть буфер uimage2d и операции imageStore() для этого буфера. Я хочу знать, каково будет поведение, если я пишу в места, превышающие размер буфера. Будет ли эффект обертывания? Или поведение...
37 просмотров
schedule 28.05.2022

Могу ли я поставить R8G8B8A8 в UBO и использовать его как vec4?
Я пытаюсь оптимизировать работающий вычислительный шейдер. Его цель — создать изображение: найти подходящий цвет (используя небольшую палитру) и вызвать imageStore(image, ivec2, vec4) . Цвета индексируются в массиве uint в UniformBuffer. Один...
236 просмотров
schedule 19.05.2023

Как передать вычисленное количество рабочих групп в glDispatchComputeIndirect?
Как должен работать glDispatchComputeIndirect, если вы хотите подсчитать количество потоков второй отправки в первой? У меня есть вычислительный шейдер, который работает с буфером, проверяет, допустимо ли значение элемента, а затем условно...
132 просмотров
schedule 22.07.2022

Как написать фрагментный шейдер OpenGL в два этапа?
Я пишу программу, которая рисует множество Мандельброта. Для каждого пикселя я запускаю функцию, и она возвращает номер активации от 0 до 1. В настоящее время это делается во фрагментном шейдере, а активация — это мой цвет. Но представьте, что вы...
69 просмотров
schedule 11.07.2023