Войти
ПрограммированиеФорум2D графика и изометрия

Motion blur в спрайтовой игре. DX7 как замутить попроще?

Страницы: 1 2 3 Следующая »
#0
18:55, 2 авг 2010

камрады как сабж на 7м DirectX можно замутить в спрайтах?
тока не предлагайте заранее художнику прорисовать сабж )))

#1
19:29, 2 авг 2010

Зачем 7, это ж эпоха Win98!
Даже казуалки, которые должны идти на самых захудалых компах игроков, пишутся на DX8+ (WinXP и старше)

А по теме вопроса, запоминай последние, скажем NNN положений и номеров кадров спрайта, и отрисовывай их с уменьшением альфы, например от 50% до 0%.

#2
19:34, 2 авг 2010

kvakvs
> Зачем 7, это ж эпоха Win98!
кто тебе сказал?
в DX8 и выше слишком много траха с текстурами чтобы кратны степени 2 были. а у меня готовый арт был разнокалиберный и потому DX7 идеально подошел.
альфы в нем нет. соотвественно сложно полупрозрачныепрозрачные спрайты выводить. вернее вообще импасибл ибо если мутить что то то фпс падает до 20

#3
20:17, 2 авг 2010

progman
> в DX8 и выше слишком много траха с текстурами чтобы кратны степени 2 были. а у
> меня готовый арт был разнокалиберный и потому DX7 идеально подошел.
Это решается в пределах 20-30 строк кода, состоящего из создания текстуры правильного размера + 2 циклов для копирования пикселей. Не отмазка. У меня тоже арт разнокалиберный, порядка 6000 текстурных ресурсов на проект.

progman
> альфы в нем нет. соотвественно сложно полупрозрачныепрозрачные спрайты
> выводить. вернее вообще импасибл ибо если мутить что то то фпс падает до 20
Где нет? В DX8? Да ну, а у меня есть, и FPS хороший. У меня какой-то особенный DX8 ;)

#4
20:31, 2 авг 2010

kvakvs
> де нет? В DX8? Да ну, а у меня есть, и FPS хороший. У меня какой-то особенный
> DX8 ;)

Это progman про DX7. Млин...как жить без полупрозрачных спрайтиков в современных казуалках..не пойму :)

#5
21:06, 2 авг 2010

MATov
> Млин...как жить без полупрозрачных спрайтиков в современных казуалках..не пойму
> :)
На самом деле, без них жить трудно. Художники наклепают полупрозрачного арта, и будут правы.

#6
8:19, 3 авг 2010

MATov
> Млин...как жить без полупрозрачных спрайтиков в современных казуалках..не пойму :)
кто сказал что у меня казуалка?
мне просто надо замутить перемещение спрайтового объекта на экране с эффектом Motion blur
исторически за 5 лет так сложилось что весь проект на GDI+ и DX7 в том модуле где нужен MB - DX7 используется
переходить на DX8 ни возможности ни желания нет. делать ручками полупрозрачность в DX7 то еще занятие.

#7
11:04, 3 авг 2010

progman
предположу что ты делаешь блиттинг
это прошлый век
все делают 2D via 3D
что в opengl, что в DirectX, что даже в DX7 ;) у меня самого такой движок

так что я бы посоветовал пересмотреть свои взгляды на программирование

#8
11:23, 3 авг 2010

DevilDevil
>так что я бы посоветовал пересмотреть свои взгляды на программирование
"ти такой умный, череп не жмет, да ?"
а по существу я бы посоветовал не советовать.

>все делают 2D via 3D
можно подумать что я не знаю как делают "все" на которые ссылаются все.

в данный момент меня интересет как можно именно на DX7 сделать сабж и можно ли вообще не просирая фпс до 10.

#9
11:32, 3 авг 2010

progman
> в данный момент меня интересет как можно именно на DX7 сделать сабж и можно ли
> вообще не просирая фпс до 10.
Я ответил в посте #1, запоминай прошлые координаты в структуре типа "очередь" и рисуй их с убывающей альфой.
Фпс упадёт натурально, из-за повторной отрисовки одного и того же спрайта, но не в 10 раз, а немного.

#10
11:36, 3 авг 2010

kvakvs
дык. альфы нету в DirectDraw 7
если бы была не мучался бы.

чтобы мутить альфу надо каждый кадр лочить бекбуфер, лочить текстуру, перемножать каждый пиксель по формуле и анлочить.
фпс на этом падает с 200 до 15-20 ибо лочить бекбуфер жутко дорогое удовольствие

#11
11:50, 3 авг 2010

Разве совсем нету способа выставить рендерстейт на смешивание цветов и нарисовать квад или треугольник и задать цвета вершин с альфой? Ну тогда не знаю, валить надо оттуда, приглашаю в мир дх8 ;) Рисовать попиксельно даже не пытайся, глупо это во времена аппаратного ускорения, даже старинный FFP сделает всё в 1000 раз быстрее, не говоря уже о современных картах.

#12
13:13, 3 авг 2010

kvakvs
> Разве совсем нету способа выставить рендерстейт на смешивание цветов и
> нарисовать квад или треугольник и задать цвета вершин с альфой? Ну тогда не
> знаю, валить надо оттуда, приглашаю в мир дх8 ;) Рисовать попиксельно даже не
> пытайся, глупо это во времена аппаратного ускорения, даже старинный FFP сделает
> всё в 1000 раз быстрее, не говоря уже о современных картах.
какие вершины у спрайтов. знаю я про DX8 и прелести. есть у меня казуальный движок на DX8 на котором я уже 4 игры замутил
но это не тот случай чтобы его применять там дофигища чего переписывать придется. с 2004го года пишется проЭктик со всеми вытекающими

и тормоза не в попиксельном умножении а именно в Lock/Unclock бэкбуфера и тормоза дичайшие

#13
15:19, 3 авг 2010

Кто же лочит бак буфера? Конечно тормоза а создать еще одну поверхность памяти и работать с ней а потом блитить на бак не получается?

#14
15:22, 3 авг 2010

Один единственный lock/unlock бэкбуфера убивает фпс с 200 до 15-20?

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

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