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

Вызовы OpenGL Compute Shader
У меня возник вопрос, связанный с новыми вычислительными шейдерами. В настоящее время я работаю над системой частиц. Я храню все свои частицы в буфере хранилища шейдеров, чтобы получить к ним доступ в вычислительном шейдере. Затем я отправляю...
5651 просмотров
schedule 15.09.2023

В чем разница между OpenCL и вычислительным шейдером OpenGL?
Я знаю, что OpenCL дает контроль над архитектурой памяти графического процессора и, таким образом, обеспечивает лучшую оптимизацию, но, не говоря уже об этом, можем ли мы использовать вычислительные шейдеры для векторных операций (сложение, умножение,...
29848 просмотров
schedule 03.02.2023

Использование шейдеров для длительных вычислений без задержки
Я пытаюсь использовать Compute Shader с DirectX 11 для выполнения простых, но дорогостоящих вычислений (вспомните набор Мандельброта). Результат расчета размещается на текстуре и не перекрывается. Это не в реальном времени, так как ожидается, что...
475 просмотров
schedule 05.12.2022

Расширение вычислительного шейдера OpenGL
У меня проблема с созданием вычислительного шейдера. Моя программа, кажется, не знает GLenum type GL_COMPUTE_SHADER , когда я пытаюсь создать шейдер с glCreateShader() func . Моя видеокарта довольно слабая, но когда я проверяю расширение...
903 просмотров
schedule 31.01.2024

Произошла ошибка GL_INVALID_VALUE. путем привязки только одного универсального блока
У меня возникли проблемы с привязкой объекта юниформ-буфера к нескольким шейдерам. Выполнение следующего кода: for(auto& shaderIter : shaderHandler.getShaderPrograms()){ shaderIter.second->bind(); GLuint programID =...
1364 просмотров
schedule 22.05.2022

Атомарное добавление изображения в вычислительном шейдере
У меня есть следующий вычислительный шейдер: #version 430 layout(std430, binding=0) buffer wks{ ivec2 w[]; }; layout(r32i, binding=1) uniform writeonly iimage2D pathTex; layout(local_size_x = 1, local_size_y = 1, local_size_z = 1) in; void...
842 просмотров
schedule 22.08.2023

imageStore не записывает при использовании двух SSBO в вычислительном шейдере
Я заметил ошибку в одном из своих вычислительных шейдеров при попытке запустить его на моем ATI HD 5770. Я обнаружил, что проблемы начинаются, когда я обращаюсь к более чем одному SSB в шейдере, несмотря на то, что GL_MAX_COMPUTE_SHADER_STORAGE_BLOCKS...
265 просмотров
schedule 22.06.2022

Синхронизация устройства DirectX 11 Compute Shader?
Предпосылки: выполните бенчмаркинг / сравнение на платформах GPGPU. Проблема: синхронизация устройства при отправке вычислительного шейдера DirectX 11. Ищу эквивалент cudaDeviceSynchronize () для clFinish (...) , чтобы провести справедливое...
937 просмотров

Запись в буфер глубины из вычислительного шейдера opengl
Как правило, на современном настольном оборудовании OpenGL, как лучше всего заполнить буфер глубины из вычислительного шейдера, а затем использовать этот буфер глубины для рендеринга графического конвейера с треугольниками и т. Д.? В частности,...
889 просмотров
schedule 01.10.2023

OpenGL: есть ли преимущество в использовании нескольких глобальных рабочих групп для вычислительных шейдеров
Есть ли преимущество в использовании нескольких глобальных рабочих групп вместо одной рабочей группы для вычислительных шейдеров в OpenGL? Мне нужно синхронизировать вызовы для большого изображения, поэтому глобальные рабочие группы не будут...
317 просмотров
schedule 08.04.2023

Как потоки вычислительных шейдеров OpenGL сопоставляются с деформациями?
В CUDA потоки с идентификаторами 0-31, 32-63,... всегда выполняются в одном и том же варпе. Однако я не могу найти аналогичного утверждения в спецификации OpenGL или вики. Предоставляет ли OpenGL такую ​​же гарантию, или можно с уверенностью...
400 просмотров
schedule 12.01.2024

Расчет среднего значения в металлическом ядре
Кто-нибудь знает, как правильно вычислить среднее значение буфера со случайными числами с плавающей запятой в металлическом ядре? Диспетчерские работы по кодировщику вычислительных команд: threadsPerGroup = MTLSizeMake(1, 1,...
1848 просмотров
schedule 02.07.2023

Есть ли способ одновременной записи на БПЛА без условий гонки?
У меня есть вычислительный шейдер, который имитирует некоторую жидкость как частицу. Частицы считываются из буфера. Каждая частица обрабатывается в одном потоке. Во время выполнения потока одна частица перемещает свою УФ-позицию и добавляется к...
742 просмотров
schedule 01.06.2022

Ошибка SPIR-V с InterlockedMax после обновления до LunarG SDK 1.0.68.0
Мой вычислительный шейдер (написанный на HLSL) скомпилирован и работал с более ранним SDK 1.0.65.0. Я обновился до 1.0.68.0 и перекомпилировал, теперь я получаю эту ошибку при вызове vkCreateShaderModule : Ошибка Vulkan: [SC], код: 5: модуль...
94 просмотров
schedule 13.04.2022

Вычислительный шейдер — gl_GlobalInvocationID и local_size
Пытаясь реализовать наивный вычислительный шейдер, который назначает воздействующие источники света на кластер, я столкнулся с неожиданным (ну для нуба вроде меня) поведением: Я вызываю этот шейдер с помощью glDispatchCompute(32, 32, 32); и он...
2296 просмотров
schedule 24.07.2023

Линейное индексирование с использованием вычислительного шейдера
Я использую вычислительные шейдеры для некоторых вещей. Я создаю входной буфер (одномерный) определенной длины, а затем вызываю диспетчеризацию по x и y, чтобы оптимизировать время вычислений. Но у меня проблема с доступом к индексам. В чем может...
740 просмотров
schedule 28.10.2022

Буфер хранения - массив int, используемый с [y][x], в 3 раза быстрее, чем с использованием [x][y]?
В качестве тестового проекта я закодировал базовую игру жизни Конвея с помощью вычислительных шейдеров (Vulkan). В принципе: «Доска» хранится в массиве int внутри буфера хранения. #define WIDTH 800 #define HEIGHT 600 #define WORKGROUP_SIZE...
241 просмотров
schedule 19.12.2023

Передача массива изображений для вычисления шейдера
В настоящее время я работаю над проектом, использующим черновик для вычислительных шейдеров в WebGL 2.0. [черновик] . Тем не менее, я не думаю, что мой вопрос связан с WebGL, а скорее с проблемой OpenGL. Цель - построить пирамиду изображений,...
167 просмотров
schedule 09.09.2022

Как выполнять параллельные вычислительные шейдеры в нескольких очередях вычислений в Vulkan?
Обновление: проблема решена, дополнительную информацию можно найти здесь: https://stackoverflow.com/a/64405505/1889253 аналогичный вопрос задавался ранее , но изначально этот вопрос был сосредоточен на использовании нескольких буферы команд и...
542 просмотров
schedule 17.05.2023