Программирование игр, создание игрового движка, OpenGL, DirectX, физика, форум
GameDev.ru / Программирование / Подсказки / Motion Blur без шейдеров

Motion Blur без шейдеров

Автор:

Простая реализация эффекта Motion blur в DirectX без использования шейдеров

Идея:
1. Рисуем всю сцену в текстуру
2. Рисуем текстуру на екран с после такого кода:

   m_pd3dDevice->SetRenderState( D3DRS_ALPHABLENDENABLE, TRUE );

   m_pd3dDevice->SetRenderState( D3DRS_SRCBLEND,    D3DBLEND_INVBLENDFACTOR );
   m_pd3dDevice->SetRenderState( D3DRS_DESTBLEND,   D3DBLEND_BLENDFACTOR );

   m_pd3dDevice->SetRenderState( D3DRS_BLENDFACTOR, RGB(blend, blend, blend) ); 
  // где blend - это "сила эффекта"; желательно = 200; мин = 0; макс = 255
 
После такой процедуры действий получаем довольно неплохой Motion Blur.

12 октября 2009

#DirectX, #FFP, #motion blur

Комментарии:
ЛАВПостоялецwww13 окт. 200912:33#1
В результате будут идущие друг за другом четкие кадры, уменьшающейся интенсивности. Где здесь blur?
KpeHDeJIbПостоялецwww13 окт. 200912:54#2
Да это фейковый блюр, причем древнейший боян. При значительном изменении
положения объекта на экране, будет выглядеть жутко.
BonusПостоялецwww13 окт. 200913:26#3
такой блюр был в макс пейне)))
.ScotinaПостоялецwww13 окт. 200913:31#4
"...будет выглядеть жутко..."

Любой мошен блюр выглядит жутка. Нужен только для вызывания отвращения у игрока.

SNVampyreУдалёнwww13 окт. 200917:12#5
И даже нет учёта времени кадра.
Такой эффект если и делать, то с хитрой зависимостью от яркости, получатся следы, которые реально бывают.

А motion blur нормально выглядит только при сложении кадров, но тогда нужен fps в несколько раз выше...

Che@terПостоялецwww14 окт. 200915:11#6
Я эту подсказку сдал сюда пару лет назад(тогда только начал заниматься графикой). На своем старом компе с радеон 9200 такой метод покатил на 60 фпс в небольших гонках. Блур был довольно хороший. Тем более на шейдерах 1_1 или 1_4 я бы такого не сделал.

Если будет время - попробую накатать статью про более продвинутый моушн блур.

ЗЫ Это подсказка, сюда могут залесть новички и им такой метод может подойти.

MirageПостоялецwww14 окт. 200918:57#7
Che@ter
> Тем более на шейдерах 1_1 или 1_4 я бы такого не сделал.

Можно и получше сделать на 1_1.
Впрочем, и против данного метода ничего не имею.

МЫЛОПостоялецwww14 окт. 200921:48#8
.Scotina
> Любой мошен блюр выглядит жутка. Нужен только для вызывания отвращения у
> игрока.

В HL2 Ep2 мошен блюр кстати норм
А простой на буфере аккумуляции дейтвительно противен

JohnSmithПостоялецwww14 ноя. 200923:40#9
По-моему тут есть подобный моушен блур :)
http://www.ag.ru/screenshots/gulmeen_v_poiskah_utrachennogo_iskus… a/245367#show
TaniaaaaНовичокwww21 апр. 20113:49#10
Ребята не подскажете где можно скачать эту программу DirectX ,не где нет..( Очень надо...:)
SergioУдалёнwww21 апр. 20119:44#11
Taniaaaa
Либо очень толсто, либо тебе пока рано качать программы OpenGL и DirectX.

/ Форум / Программирование игр / Графика

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

2001—2017 © GameDev.ru — Разработка игр