Описание тега compute-shader

Вычислительный шейдер - это этап шейдера, который полностью используется для вычисления произвольной информации. Хотя он может выполнять рендеринг, он обычно используется для задач, не связанных напрямую с рисованием треугольников и пикселей.
1 ответ

Вычислить шейдер - gl_GlobalInvocationID и local_size

При попытке реализовать наивный вычислительный шейдер, который назначает кластеру влияющие источники света, я столкнулся с неожиданным (хорошо для нуба, как я) поведением: Я вызываю этот шейдер с помощью glDispatchCompute(32, 32, 32); и он должен за…
17 мар '18 в 12:11
0 ответов

Преобразование фрагментного шейдера в вычислительный шейдер

Я изучаю вычислительные шейдеры после нескольких лет опыта работы с фрагментными и вершинными шейдерами. Я хотел бы преобразовать алгоритмы из одного из моих процедурных фрагментных шейдеров в вычислительный шейдер, который использует те же алгоритм…
09 фев '17 в 03:14
1 ответ

Загрузка из RWTexture2D<float4> в вычислительный шейдер

Я понимаю, что в модели 5.0 шейдеров HLSL есть ограничение, когда нельзя загружать данные из ресурса RWTexture2D, не являющегося скалярным типом. То есть следующее незаконно: RWTexture2D&lt;float4&gt; __color; float4 c = __color[PixelCoord]; // erro…
29 янв '13 в 17:13
1 ответ

Необработанное исключение в nvoglv32.dll - вызов imageStore в цикле for

Я пытаюсь заполнить image3D, используя цикл for в моем вычислительном шейдере. Следующие три строки кода допустимы вне цикла for, поскольку программа будет работать и давать ожидаемые результаты: position = ivec3(gl_GlobalInvocationID.xyz); colour =…
03 авг '17 в 12:37
1 ответ

Как измерить временную производительность вычислительного шейдера?

Мне нужно измерить время вычислительного шейдера. Но, конечно, это не тривиально. Из OpenGL Wiki - Performance я понял, что полезно использовать glFinish() до и после вызова шейдера. Но они также говорят, что это не так хорошо, чтобы использовать ег…
27 янв '15 в 16:46
2 ответа

DX11 Динамический размер буфера

Я пытаюсь сделать деформируемый воксельный ландшафт для проекта для университета. В настоящее время я использую несколько 3DTextures для хранения моих данных вокселей в "кусках". Мой план состоял в том, чтобы использовать вычислительный шейдер для в…
31 мар '13 в 15:22
1 ответ

Содержимое буфера шейдеров различного размера "передается" в буфер массива

Я помещаю объект в позиции, рассчитанные в вычислительном шейдере. Я хочу связать выходные данные вычислительного шейдера, содержащего позиции, с буфером массива для рисования, но я не могу заставить его работать. Я извиняюсь за арифметику индекса, …
30 ноя '15 в 07:59
1 ответ

Рисование с использованием хранилища шейдеров не работает

Со всеми моими объектами, которые должны быть отображены, я использую glDrawElements. Тем не менее, мое предприятие в Compute Shaders оставило мне установку, которая использует glDrawArrays. Как и многие, кто нарушает тему, я использовал этот PDF в …
03 авг '13 в 00:39
0 ответов

glUseProgram выдает ошибку Invalid Operation при попытке использовать вычислительный шейдер

Я пытаюсь использовать OpenGL в Python для игры с Compute Shaders, но я очень мало представляю, что я делаю. Я хотел бы иметь возможность отправить некоторые данные, чтобы шейдер изменил их и считал эти данные обратно. Это код, который я написал до …
05 дек '17 в 14:36
0 ответов

Отображение SSBO, возвращающее NULL без ошибок

У меня были проблемы с этим в течение последних нескольких дней. Я читал много других публикаций и руководств по SO: SO question Учебное пособие по Khronos Это простая программа для ознакомления с вычислительными буферами до того, как я решу свою бо…
27 сен '18 в 17:06
1 ответ

Raytracing в OpenGL через вычислительный шейдер

Я пытаюсь выполнить трассировку лучей в OpenGL через вычислительный шейдер, и я столкнулся со странной проблемой. Сейчас я просто хочу отобразить сферу без затенения. Мой вычислительный шейдер запускает луч для каждого пикселя и выглядит так: #versi…
11 мар '13 в 16:59
1 ответ

Добавление изображения в атомный шейдер

У меня есть следующий вычислительный шейдер: #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 main(){ i…
04 фев '15 в 11:49
0 ответов

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

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

Как бы я использовал растеризацию для создания текстур в примитивную текстурную карту - DirectX 11

Я написал вычислительный шейдер, который предназначен для использования UV-координат трех вершин, составляющих примитив, а также координаты texel (dispatchThreadID.xy) для достижения растеризации. Я пытаюсь вернуть текстуру, которая для каждого текс…
0 ответов

C# - Использование вычислительных шейдеров

Я пытаюсь реализовать, используя SharpDX11, метод пересечения луча / сетки с использованием графического процессора. Я видел из старого поста ( более старого поста), что это можно сделать с помощью Compute Shader; но мне нужна помощь для создания и …
24 апр '18 в 08:30
2 ответа

Вычислительный шейдер DirectX 11 для пересечения луча / сетки

Недавно я преобразовал приложение DirectX 9, которое использовало D3DXIntersect для поиска пересечений лучей / сеток, в DirectX 11. Поскольку D3DXIntersect недоступно в DX11, я написал свой собственный код, чтобы найти пересечение, которое просто пе…
21 окт '16 в 19:38
0 ответов

Вычислить шейдер: набрав аргумент функции с Image2D

Я пишу каркас, который должен предлагать несколько функций, определенных для типа image2D. Но, кажется, немного трудно понять это правильно, и я не могу найти документацию по прохождению image2D к функции. Вот минимальный пример моей проблемы: #vers…
20 фев '17 в 19:23
1 ответ

Unity Compute Shader для генерации данных меша, не в состоянии вычислить все индексы треугольника.

Недавно я работал над созданием данных меша для сферической планеты, созданной из 6 подразделенных плоскостей в Unity3d ( как это). Я создал алгоритм в C#, который позволяет мне создавать сетки на процессоре, и для целей обучения я решил перенести э…
1 ответ

Это БПФ от сложного к сложному или ошибка?

Поэтому я пытаюсь прочитать этот код. И судя по Texture2D&lt;float2&gt; FftIn; RWTexture2D&lt;float2&gt; FftOut; Это может быть комплекс от FFT, но, поскольку я новичок в этом, я хотел бы помочь. Это работает так (справа - источник, ниже - назад впе…
08 сен '18 в 18:40
2 ответа

Как передать результаты вычисления шейдера в вершинный шейдер без использования буфера вершин?

Прежде чем углубляться в детали, я хочу обрисовать проблему: Я использую RWStructuredBuffers для хранения вывода моих вычислительных шейдеров (CS). Поскольку вершинные и пиксельные шейдеры не могут читать из RWStructuredBuffers, я сопоставляю Struct…