Войти
ПрограммированиеФорумГрафика

Графический конвеер и шейдеры (3 стр)

Страницы: 1 2 3 4 Следующая »
#30
23:59, 2 дек. 2010

веселый шейдер

смени ник на невеселый шейдер ибо как дойдёт дело до сурьёзных шейдеров - так плакать захочется ...


Прошло более 7 лет
#31
19:35, 13 авг. 2018

Дабы не плодить новых тем насру в эту.

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

#32
19:52, 13 авг. 2018

nes, что мешает один раз посчитать пачку матриц для меша на cpu?

Ivashka, выхватил, эх

#33
19:55, 13 авг. 2018

Ivashka
vindast
Сдается мне, что гпу сделает это быстрее.

#34
19:56, 13 авг. 2018

vindast
> nes, что мешает один раз посчитать пачку матриц для меша на cpu?
Так можно и на GPU считать. Тот же stream output. А когда не было стрим аутпутов - паковали в текстуру.

#35
19:57, 13 авг. 2018

nes
> Сдается мне, что гпу сделает это быстрее.
Ну и считай на GPU, какие проблемы то?

#36
19:58, 13 авг. 2018

MrShoor
Единственный вариант, который мне известен - считать в вершинном шейдере,
а это значит, что все будет пересчитываться для каждой вершины, что не есть гуд.

#37
20:03, 13 авг. 2018

nes
> Единственный вариант, который мне известен - считать в вершинном шейдере,
> а это значит, что все будет пересчитываться для каждой вершины, что не есть
> гуд.
Вершина - это просто struct входящий. Сколько этих struct и какие они - зависит лишь от тебя.
Вот это вершина:

struct MyData {
  param1
  param2
  param3
};

А вот это типа "вызов шейдера":

std::vector<MyData> data;
//...
for(auto& v : data)
  VertexShader(v);
На GPU это работает примерно (очень грубо) так. Что мешает сложить любые данные в вершину, и обработать их?

#38
20:12, 13 авг. 2018

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

#39
6:09, 14 авг. 2018

nes
Прешейдеры - дело хорошее. Гугли в сторону D3DX effect framework.

#40
10:11, 14 авг. 2018

MrShoor
>На GPU это работает примерно (очень грубо) так. Что мешает сложить любые данные в вершину, и обработать их?
Ээ, пихать матрицы модели, вида, проекции и костей в вершины модели?

Wraith
>Гугли в сторону D3DX effect framework.
Нет уж увольте, это непереносимое говно подходит только для демок DXSDK.

#41
10:35, 14 авг. 2018

nes
> Ээ, пихать матрицы модели, вида, проекции и костей в вершины модели?
для этого придумали compute shaders. для тех, кто застрял в прошлом — transform feedback.

#42
10:57, 14 авг. 2018

Suslik
Че-то я его не вижу в пайплайне https://docs.microsoft.com/en-us/windows/desktop/direct3d11/overv… hics-pipeline

#43
11:09, 14 авг. 2018

nes
вот же: https://www.khronos.org/opengl/wiki/Compute_Shader
шутка: https://docs.microsoft.com/en-us/windows/desktop/direct3d11/direc… ompute-shader

#44
11:21, 14 авг. 2018

Suslik
Блин, уже крыша едет от всех этих шейдеров

Страницы: 1 2 3 4 Следующая »
ПрограммированиеФорумГрафика

Тема в архиве.