PDA

Просмотр полной версии : Как делается векторная графика на NES



fan
16.04.2007, 17:45
Глянул на Taito Chase H.Q. (J).nes и сильно удивился оооочень плавной отрисовке дороги , ещё больше удивился что в знакогенераторе тайлов нет нечерта похожего на агрызки дороги %) (на сеге можно было хоть собрать из тайлов нечто уходящее в даль).

Есть подозрение что это делается с помощью DMA , но каким макаром орисовывается дорога минуя знакогенератор ???

Titus
16.04.2007, 20:28
Есть подозрение что это делается с помощью DMA , но каким макаром орисовывается дорога минуя знакогенератор ???

Никаким.
И никакого DMA, кроме того, которое выплевывает однобитный сэмпл в 5-й, цифровой канал у NES нету.

Знакогенератор не обязательно должен находится в ПЗУ. Вместо ПЗУ может стоять ОЗУ. В нем можно отрисовать чего угодно, если 256 тайлов хватает

fan
18.04.2007, 00:04
Знакогенератор не обязательно должен находится в ПЗУ. Вместо ПЗУ может стоять ОЗУ. В нем можно отрисовать чего угодно, если 256 тайлов хватает
Да , не обязательно , но адреса знакогенератора не меняются что бы в данный момент кним не было подключено .
Короче просто качни эту игруху (http://www.rom-world.com/file.php?id=20641) и глянь в какомнить эмуле который может показывать текущее содержимое знакогенератора . Например fceu-mm-may29-2006-win32 там можно выставить чтоб знакогенератор обновлялся без пропусков знаков (при большёй скорости их обновления). И главное на трассе пешевели машинку влево в право , в знокогенераторе не будет нечерта похожего на тайлы дороги и главное дорога будет ооочень плавно меняться ! И кстати будут видны странные артефакты словно дорога отрисовывается по ходу луча (или типо того).
Вобщем пока САБЖ для меня жудкая загадка .

Titus
18.04.2007, 00:22
И главное на трассе пешевели машинку влево в право , в знокогенераторе не будет нечерта похожего на тайлы дороги и главное дорога будет ооочень плавно меняться ! И кстати будут видны странные артефакты словно дорога отрисовывается по ходу луча (или типо того).
Вобщем пока САБЖ для меня жудкая загадка .

На NES есть такая возможность, как изменение горизонтальной позиции скроллинга для каждой линии бекграунда. Таким макаром можно изгибать и загибать любую дорогу достаточно плавно, не влияя план спрайтов (машинки, например).

maximk
18.04.2007, 07:52
На NES есть такая возможность, как изменение горизонтальной позиции скроллинга для каждой линии бекграунда. Таким макаром можно изгибать и загибать любую дорогу достаточно плавно, не влияя план спрайтов (машинки, например).
уж не этим ли эффектом во Flintstones делалась анимация перемещения во времени... очень похоже

Titus
18.04.2007, 10:55
уж не этим ли эффектом во Flintstones делалась анимация перемещения во времени... очень похоже

Не смотрел, но скорее всего этим. Других-то нет :v2_wink2:

goodboy
18.04.2007, 12:01
по моему более чумовой эффект это Elite на NES.

scor
18.04.2007, 12:32
Elite рендерит куски векторов в знакогенератор, используя всего лишь гдето 180 с лишним символов как буфер для графики, тудаже и некоторые надписи. а потом выстраивает нужные тайлы в нужных :) позициях NameTable тоесть в карте тайлов. За переполнением буфера похоже следят программно и отсекают лишние вектора.

летящие звезды + прицел рисуют спрайтами.
приборная панель выведена из другого тайл банка.

теперь знаем, плавали уже :) но конечно имхо это шедевр.
никто незнает есть ли еще векторные гамы на NES'е и есть есть, то какие?

fan
19.04.2007, 03:08
На NES есть такая возможность, как изменение горизонтальной позиции скроллинга для каждой линии бекграунда. Таким макаром можно изгибать и загибать любую дорогу достаточно плавно, не влияя план спрайтов (машинки, например).
Да , похоже на то , но всёравно не понятно куды делись тайлы дороги %(
Ща ещё попробовал погонять NESticle x.xx , он похоже совсем не супортит это дело (жудко глючно генерит дорогу), но в таблице имён тайлов явно выстраивается дорога уходящая в даль (как на сеге) шириной аж в два экрана .

2 ALL Какойнить ещё эмуль умеет показывать таблицу имён тайлов (содержимое экранов) ?

З.Ы. На MSX как не странно то же есть ELITE , но жудко тормозная и экранчик ужат по горизонтали .

scor
20.04.2007, 14:33
Да , похоже на то , но всёравно не понятно куды делись тайлы дороги %(

fan, не тормози :) все там есть. На NES'е часто используемая техника, переключение тайловых банков на соответствующей строке.
В просмотрщиках fceuxdsp-1_07 есть спец поле Display on scanline, введи скажем 120 в PPU Viewer и увидиш тайлы дороги ;)
Специально сделано чтобы видеть динамику на кадре, обычно меняют палитру/скроллеры/банки памяти.
Очень удобная штука, ненужно даже в код глядеть, и так все понятно :D

fan
20.04.2007, 19:30
. На NES'е часто используемая техника, переключение тайловых банков на соответствующей строке.
Это многое объясняет :) (наверное те эмули раз в кадр обновляют знакогенератор, поэтому ни хэ и не видно).