Comments 40
А можно где-то посмотреть видео всей этой красоты? А то у меня ось не поддерживает запуск exe файлов.
+5
UFO just landed and posted this here
А скомпилированное есть? Искал — не нашел.
+3
Непонятен смысл такой конструкции:
или на мне уже сказывается усталость и я туплю, или действительно оба выражения равны.
К тому же, использовать такие конструкции (как и другие булевы операции) следует весьма осторожно, т.к. в отличие от С / С++, в HLSL выражение вычисляется полностью (т.е. обе его части).
float r = (top.r < 0.5)? (bottom.r + 2*(top.r - 0.5)) : (bottom.r + 2*top.r - 1);
или на мне уже сказывается усталость и я туплю, или действительно оба выражения равны.
К тому же, использовать такие конструкции (как и другие булевы операции) следует весьма осторожно, т.к. в отличие от С / С++, в HLSL выражение вычисляется полностью (т.е. обе его части).
0
Это формула смешивания Linear Light. Комбинация Linear Burn и Linear Dodge.
Может вам будет понятна формула в таком виде:
if (Blend >= ½) R = Target + 2 x (Blend-½)
if (Blend < ½) R = Target + 2 x Blend -1
Может вам будет понятна формула в таком виде:
if (Blend >= ½) R = Target + 2 x (Blend-½)
if (Blend < ½) R = Target + 2 x Blend -1
0
Случайно отправил…
>>К тому же, использовать такие конструкции (как и другие булевы операции) следует весьма осторожно
Смотрел дизасемблированный вариант шейдера, когда занимался профилированием (Nvidia Perf HUD), все выглядело достаточно оптимально. Особо не вчитывался конечно, но ничего подозрительного не увидел.
>>К тому же, использовать такие конструкции (как и другие булевы операции) следует весьма осторожно
Смотрел дизасемблированный вариант шейдера, когда занимался профилированием (Nvidia Perf HUD), все выглядело достаточно оптимально. Особо не вчитывался конечно, но ничего подозрительного не увидел.
0
UFO just landed and posted this here
Как получить похожий эффект без дополнительной текстуры: pastebin.com/sErK2Lsa
В первом комментарии к первой части статьи верно написали, что неплохо бы вообще все расчеты на ГПУ перенести. Да и ДХ10+ не нужен, можно все считать в вершинном шейдере, взаимодействия между частицами то нет.
+2
>Как получить похожий эффект без дополнительной текстуры: pastebin.com/sErK2Lsa
Спасибо. Как-то даже не подумал о генерации градиента.
>Да и ДХ10+ не нужен, можно все считать в вершинном шейдере, взаимодействия между частицами то нет.
Да, взаимодействия между частицами нет, но каждый раз нужно обновлять координаты частиц для дальнейших расчетов. Если вы знаете о том, как это можно сделать в DX9 — напишите пожалуйста.
Спасибо. Как-то даже не подумал о генерации градиента.
>Да и ДХ10+ не нужен, можно все считать в вершинном шейдере, взаимодействия между частицами то нет.
Да, взаимодействия между частицами нет, но каждый раз нужно обновлять координаты частиц для дальнейших расчетов. Если вы знаете о том, как это можно сделать в DX9 — напишите пожалуйста.
0
www.2ld.de/gdc2004/
Реализация на OGL, но на DX9 тоже можно сделать. Даже где-то видел. Возможно, это было в Nvidia SDK 9.
Реализация на OGL, но на DX9 тоже можно сделать. Даже где-то видел. Возможно, это было в Nvidia SDK 9.
+1
Нашел на D3D нечто похожее. Называется Stream-Output
0
Эх, жаль. Stream-Output фича DirectX 10 и выше. Придется по старинке — писать координаты в 2D текстуры.
0
Данные о скорости в шейдер не передаются. Хотя конечно можно и передавать.
Если честно, то демонстрацию я начал делать вдохновившись одним видео на youtube, и в итоге сделал почти как там.
Если честно, то демонстрацию я начал делать вдохновившись одним видео на youtube, и в итоге сделал почти как там.
0
Имхо изучать DX9 сейчас точно так же как к примеру PHP 3. Про него пора забывать как про страшный сон, он пожил и так очень долго. При условии, что видяхи с поддержкой DX11 сейчас можно купить за 50-70$, не такие это уж и большие деньги.
0
«Для разработки эффектов существует замечательная программа от NVIDIA, называется она Fx Composer.»
Любопытно, системные требования для этой среды весьма скромные. У NVIDIA есть еще nsight, так вот там для отладки шейдеров нужно две машины (или машина с двумя гпу и виртуалкой). Правда там указано, что отладка происходит непосредственно в процессе их выполнения на GPU (т.е. на одном GPU шейдер выполняется, с другого мы за ним наблюдаем). Интересно, как работает «Fx Composer»? Скорее всего шейдеры отлаживаются на CPU.
Любопытно, системные требования для этой среды весьма скромные. У NVIDIA есть еще nsight, так вот там для отладки шейдеров нужно две машины (или машина с двумя гпу и виртуалкой). Правда там указано, что отладка происходит непосредственно в процессе их выполнения на GPU (т.е. на одном GPU шейдер выполняется, с другого мы за ним наблюдаем). Интересно, как работает «Fx Composer»? Скорее всего шейдеры отлаживаются на CPU.
0
Для отладки я бы все таки порекомендовал Nvidia PerfKit, хоть это и инструмент для профилирования.
0
А можете для тех кто не в теме DX и прочих шейдеров, в двух словах сказать, можно ли такие эффекты делать на простом canvas'e? DX я так понимаю, дает просто доступ к железу видюхи, которая намного быстрее всё это просчитывает и отрисовывает?
0
Немного не в тему вопрос, но все же интересно — а что, собственно моделировалось и визуализировалось?
0
Прикольно, особенно учитывая, что нет взаимодействия между частицами.
+1
Если кому интересно, написал еще один вариант. Подробнее написано в конце поста, после UPD.
0
Круто, только стоит наверно включить v-sync, так как экран жутко мерцает.
0
Sign up to leave a comment.
Разработка системы частиц на платформе DirectX 9. Часть II