Ну у каждого из подвариантов есть свои плюсы и минусы
а технологий даже в 2Д графике хватает
Нет не стыдно. Вы можете называть блиттер 2Д-ускорителем, но в ускоритель даже 2Д обязано быть включено: а) масштабирование б) повороты в) цветоналожение. А блиттер - просто пересылка блоков прямоугольной формы. Для спрайт-движка абсолютно непригодны в случае отсутствия альфа-канала.
небольшой блюринг на старых телевизорах, на новых часто отсутствует. Но даже в этом случае легко сглаживается удалением глаз от экрана на 2 метра, скакого расстояния телевизор и предназначен использоваться. Если посчитаете, то у вас как раз получится 5-10 см если смотреть с 30-50 см. Т.е. чуть больше телефона, что я и имел в виду говоря о телефонном экране ниже.
Я в курсе. Мне всё совсем подробно излагать некогда, догадывайтесь.
Мне надо на диктофон надиктовать и копи-пасте? Альфа-канал - часть палитры, а не спрайта. Например, есть 16 цветов в палитре. 1 цвет делаем полностью прозрачным, ещё один - на четверть прозрачный, на 3/4 ультрамарин. Остаётся 14. Это в той строке, где нужна полная прозрачность. Для длугой строки спрайта можем использовать другую палитру. Так - понятно?
Какие-то пробемы? За две строки до - (1) прочитать описать, за одну строку до - (2) сформировать 256 пикселей, и пока они выводятся, делать (1) для строки i+2, и (2) для i+1 ?
Например? (А, догадался я: рисование каждого кадра, если он заранее заготовлен и скинут на сидюк, и гра заключается в выборе разветвления, в каком порядке смотреть ролики). Ну вообще-то я уже придумал вариант, в котором нет ограничений на размер спрайта в ширину, все 256 пикселей наши. Достаточно длину срайта хранить в самой линии спрайта в памяти, занимая на это ровно один байт.
и про рсапаковку на лету. Да, и на 3,5 МГц. Очень верится. Или это будет делать блиттер? Респект ему.
Не, не хочу я читать про Амигу. Это комп совсем другого класса. То, что я предлагаю, по-моему вполне вписывается в рамки современного спектрума.
А вот РУ5 - это уже вряд ли, к сожалению. Как минимум simm, а по причине и их редкости - уже надо о dimm думать (да и они скоро станут раритетом, наверное).
А вы уверены, что это слово должно быть известно всем, интересующимся графикой? Скажите, а как с помощью блиттера бросить на экран спрайт с неровными краями, если только этот блиттер не умеет отсекать прозрачные пиксели? Тогда это у же принципиально не блиттер и не ДМА, а тот же спрайтовый двиг, только с другого боку. И в нём есть помимо схожестей один большой отличий = недостаток: вы как ему последовательность разных пересылоки перебросок зададите? Дали команду, подождали, когда выполнит, дали другую команду? Да нафиг он такой нужен! Спрайтовый двиг хорош тем, что задали карту экрана на 1 кадр, переключились, и делаем другие важные дела. А он работает, и проц вообще не отвлекает. По-моему, кое-то просто упёрся, и готов спорить ради спора. Мнре это неинтересно. Я хотел получить обсуждение спрайтового двига и возможных технических характеристик от специалистов, а не пустой болтовни о том, почему этого делать не надо. Я просто добавлю в свой эмулятор такую поддержку спрайтового движка, якобы аппаратного, но уже без соотнесения с возможностями аппаратуры того или иного поколения. На каком-нибудь, будет реализуемо.
Я понял - необходимо понимание что блитер это не dma, потому как он не с блоками памяти работает а с блоками графики, мож тогда проще будет
Может распаковывать графику находу, расчитывать альфа канал, маштабировать и т.д. то что недоступно спрайтам из за их ограниченого по времени (на строку) работы принципу.
Сорри но я так не думаю- то что делает syd это к сожалению никакой не zx-spectrum а очередной недо-AlteraDE1 board в стиле 1_сhip_msx. А не 100% спекки клон он уже сделал. Я думаю что zx-spectrum это: http://en.wikipedia.org/wiki/ZX_Spectrum А современный zx-spectrum это: http://www.zxdesign.info/wideMemContention.shtml
Добавлено через 18 минут
что за чепуха? тот hardware overlay который сейчас есть в каждом современном видео чипе и есть своего рода спрайти все он может включая масштабирование. Та по сути тот же blitter это глупый переброс кусков информации в видео память что есть изначально тупая операция из-за того что совсем паралельно из других банков памяти можно бросать эти пиксели прямо на выходной DAC не мешая ни СPU и сканеру показывающему background. Спрайты не требуют высокой пропускной мощи памяти и тем более не должны быть в основной памяти CPU или иметь что-то общее с палитрами background-a... В гипертфророванной реализации этой модели спрайты это всеравно что наложенные друг на друга (по сложным правилам) бесконечное количество экранов каждый со своей отдельной видеопамятью и pixel shader-ом.
Последний раз редактировалось bigral; 28.04.2008 в 18:29. Причина: Добавлено сообщение
Последний раз редактировалось ZEK; 28.04.2008 в 18:44. Причина: Добавлено сообщение
Гуд, я прочитал что такое блиттер на вики, достаточно? Недостатки блиттера по сравнению со спрайтами очевидны: большой объём памяти для хранения всего построенного экрана, причём нужны 2 копии этого всего дела, и ещё одна копия для заднего плана, т.к. на каждом кадре надо восстановить фон, им заново нарисовать сцену. Спрайты для блиттера нужны всё равно, вряд ли они будут компактнее, чем без него. Программирование блиттера занимает времени больше, чем построение таблицы для отображения спрайта. То, что я набросал - даёт полностью весь тот же эффект, но без этих недостатков, вполне хватит 128К и 3.5МГц. Можно даже масштабирование подрубить аппаратное, буде оченно хочется (с поворотами не уверен, но флиппинг предусмотрен изначально).
Судя по всему дальнейшему тексту - недостаточно. Ну на каждую фразу можно писать опровержение!
Амижный блиттер - только пример, причем довольно простой. Блиттер не обязан быть именно таким.
А все перечисленные недостатки имели какое-то значение до середины 90-х.
Добавлено через 38 минут
Сообщение от Vladimir Kladov
...ладно, молчу, благо вопрос частично отпал
Я совсем другое имел в виду. Будь на телевизоре пиксели размером даже со спековский атрибут, кромки всех объектов в телепередачах все равно будут столь же "гладкими", как и их внутренность - из-за (пере)дискретизации и усреднения цветов, причем начиная еще со стадии записи изображения.Сообщение от Vladimir Kladov
Мне понятно, что в результате получится полная фигня.Сообщение от Vladimir Kladov
Контрпример - верхняя кромка сплющенного эллипса (в одну строчку!). Вот здесь на каждый пиксель (даже строгой симметрии может не быть, так что даже не на каждый второй) должна идти своя уникальная альфа-характеристика.
В итоге один хрен - на каждую строчку спрайта грузить строчку альфа-спрайта или перегружать уникальную палитру. По циклам памяти то ж на то ж и выйдет - ВДВОЕ больше (а по качеству будет даже хуже, потому что доступные цвета еще более урезаются).
Просто смешно. Прочитать два бэкграунда и 8 строк спрайтов (до 256 точек каждый) хотя бы просто в 16 цветах с "тупой" палитровой прозрачностью - за 224 такта (на 3.5 МГц, ага)? Это 1280 байт получается!Сообщение от Vladimir Kladov
Память придется раз в 6 разгонять (как раз 15ns статика покатит) - только чтобы картинку отобразить суметь, и то Z80 встанет намертво. Забудьте про общую память и 3.5МГц. Ничего сильно круче комодури так не получится.
См. чуть вышеСообщение от Vladimir Kladov
Тогда не стоило начинать тему с провокационной пустой болтовни типа "почему оставляют все плоским" , "нет никакой проблемы совместимости", "круче спрайтов для Спека быть ничего не может", "узость и плоскость мышления" (после чего демонстрировать прямо-таки пещерные представления о принципах построения двухмерных графических движков) итд итп.
Последний раз редактировалось Lethargeek; 29.04.2008 в 11:06. Причина: Добавлено сообщение
Прихожу без разрешения, сею смерть и разрушение...
А не хотите попробовать, взять за основу обычный сеговский (мегадрайв) видео-процессор.
Только немного изменить (улучшить):
Спрайты сделать - 8бит на пиксель (вместо 4бит)
Разрешение сделать - 320*240 (вместо 320*224)
Палитра 4096 цветов (12бит)
Остальное реализовать по докам, на этот чип.
Сеговские игрушки все видели,
еще представить что цветов больше стало.
И что потом? В лучшем случае результат будет эквивалентен тридевятому (логическому продолжению всех этих TI99xx видео-процессоров) для такого сопроцессор-а потребуется отдельный СPU или микро-контроллер в результате будет еще одна недо-SegaMD на fpga и ценой в $200. Это все не считая затрат на разработку и вылавливание тысячи глюков.
Последний раз редактировалось bigral; 28.04.2008 в 21:24.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)