С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Ну у каждого из подвариантов есть свои плюсы и минусы
а технологий даже в 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 кадр, переключились, и делаем другие важные дела. А он работает, и проц вообще не отвлекает. По-моему, кое-то просто упёрся, и готов спорить ради спора. Мнре это неинтересно. Я хотел получить обсуждение спрайтового двига и возможных технических характеристик от специалистов, а не пустой болтовни о том, почему этого делать не надо. Я просто добавлю в свой эмулятор такую поддержку спрайтового движка, якобы аппаратного, но уже без соотнесения с возможностями аппаратуры того или иного поколения. На каком-нибудь, будет реализуемо.
А не хотите попробовать, взять за основу обычный сеговский (мегадрайв) видео-процессор.
Только немного изменить (улучшить):
Спрайты сделать - 8бит на пиксель (вместо 4бит)
Разрешение сделать - 320*240 (вместо 320*224)
Палитра 4096 цветов (12бит)
Остальное реализовать по докам, на этот чип.
Сеговские игрушки все видели,
еще представить что цветов больше стало.
И что потом? В лучшем случае результат будет эквивалентен тридевятому (логическому продолжению всех этих TI99xx видео-процессоров) для такого сопроцессор-а потребуется отдельный СPU или микро-контроллер в результате будет еще одна недо-SegaMD на fpga и ценой в $200. Это все не считая затрат на разработку и вылавливание тысячи глюков.
Последний раз редактировалось bigral; 28.04.2008 в 21:24.
Я понял - необходимо понимание что блитер это не dma, потому как он не с блоками памяти работает а с блоками графики, мож тогда проще будет
Может распаковывать графику находу, расчитывать альфа канал, маштабировать и т.д. то что недоступно спрайтам из за их ограниченого по времени (на строку) работы принципу.
Последний раз редактировалось 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. Причина: Добавлено сообщение
Прихожу без разрешения, сею смерть и разрушение...
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)