Войти
ПрограммированиеПодсказкиГрафикаГрафика

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.

#DirectX, #FFP, #motion blur

12 октября 2009

Комментарии [11]

#1
12:33, 13 окт. 2009

В результате будут идущие друг за другом четкие кадры, уменьшающейся интенсивности. Где здесь blur?

#2
12:54, 13 окт. 2009

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

#3
13:26, 13 окт. 2009

такой блюр был в макс пейне)))

#4
13:31, 13 окт. 2009

"...будет выглядеть жутко..."

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

#5
17:12, 13 окт. 2009

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

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

#6
15:11, 14 окт. 2009

Я эту подсказку сдал сюда пару лет назад(тогда только начал заниматься графикой). На своем старом компе с радеон 9200 такой метод покатил на 60 фпс в небольших гонках. Блур был довольно хороший. Тем более на шейдерах 1_1 или 1_4 я бы такого не сделал.

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

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

#7
18:57, 14 окт. 2009

Che@ter
> Тем более на шейдерах 1_1 или 1_4 я бы такого не сделал.

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

#8
21:48, 14 окт. 2009

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

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

#9
23:40, 14 ноя. 2009

По-моему тут есть подобный моушен блур :)
http://www.ag.ru/screenshots/gulmeen_v_poiskah_utrachennogo_iskus… a/245367#show

Прошло более 1 года
#10
3:49, 21 апр. 2011

Ребята не подскажете где можно скачать эту программу DirectX ,не где нет..( Очень надо...:)

#11
9:44, 21 апр. 2011

Taniaaaa
Либо очень толсто, либо тебе пока рано качать программы OpenGL и DirectX.

ПрограммированиеПодсказкиГрафикаГрафика

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