User Tag List

Результаты опроса: Для какого компьютера и конструктива делать видеокарту "METEOR" ?

Голосовавшие
46. Вы ещё не участвовали в этом опросе
  • "ZXM-PHOENIX" с шиной ZX-BUS без корпуса

    18 39.13%
  • "ЛЕНИНГРАД" с шиной IDC-40 в корпусе

    8 17.39%
  • МОДУЛЬНЫЙ КОМПЬЮТЕР "CHELYABINSK" с шиной ZST-BUS без корпуса

    2 4.35%
  • ОРИГИНАЛЬНЫЙ "ZX SPECTRUM" с шиной ZX-EDGE в корпусе

    9 19.57%
  • "ZX-EVO" с урезанной шиной ZX-BUS без корпуса

    23 50.00%
Опрос с выбором нескольких вариантов ответа.
Страница 22 из 109 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя
Показано с 211 по 220 из 1084

Тема: Быстрая видеокарта "METEOR-2013"

  1. #211

    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    52 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    Тогда вопрос - а чем 15бит палитра лучше, чем 24 бита палитра? На лицо удобство работы с полными 8ми битными компонентами. т.е. 8 бит на каждые из трёх компонент RGB. Опять-таки, удобно конвертить и ворочить эту палитру на самом zx.

    ЦАП аля Спринтер (8ми битный) собирается за 15 минут. Все резюки доставаемы и достаточно не дорогие.

    и для чего эта совместимость? Почему именно с этой штукой? Почему не с zxevo или там ещё с чем-нибудь?

    конечно, но для начала - а какие собственно цели преследует девайс?
    Восьмибитные цап есть в Speccy2010, Но резисторы там 1%. Как написано по приведенной ссылке для восьмибитного цапа нужны намного более точные иначе цвета будут неточными. Кроме этого не учтено сопротивление выходов FPGA.

    Поэтому не надо гнаться за предельной точностью и остановиться на реально различимых и повторяемых цветов с пятибитными цапами.

    Поэтому и ориентироваться надо на MARSOHOD2, так как там схема уже сделана и учтено сопротивление выходов FPGA.

    Предлагаемую видеокарту нужно разработать так, чтобы ее команды можно было реализовать на таких девбордах как Speccy2010, ReVeRse, Marsohod2. У Speccy2010 быстрая SDRAM 7,5 ns. У ZX-EVO SDRAM около 90 nS - она не успеет.

    Желательно также, реализовать это в эмуляторе.

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

    Основные проблемы для написания игр:

    1. сложные расчеты координат
    2. медленный вывод на экран
    3. клешинг атрибутов (цвета точек связаны с соседними точками в клетке 8х8)
    4. отсутствие прозрачного "цвета"
    5. и в последнюю очередь - малое количество оттенков.

    Можно написать отличную игру и в имеющихся цветах.
    "L-256"

  2. #211
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #212

    Регистрация
    21.12.2005
    Адрес
    Kyiv/Ukraine
    Сообщений
    415
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Возможен такой вариант хранения спрайта в памяти видеокарты:
    ИМХО, этот режим вообще не нужен.
    Т.е. если я надергал скрин-шотов спрайтов из спековской игры, мне проще тут же их собрать в обычную 256-цветную картинку и влить в видюху. (Могу эту картинку раскрасить, могу и не раскрашивать)


    Но, всё таки для экономии спрайт-памяти, можно добавить 16-цветовой формат спрайтов (4 бита на точку),
    две точки в одном байте (как сега мегадрайв).
    (Т.е. например, если хочется много всякой анимации в игре, тогда фон делаем 256 цветными и по нему спрайты 16 цветные.)
    V6Z80P - Back for Good

  4. #213

    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    52 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Раз тут упомянули ReVerSE, то что нужно сделать, чтобы вывести вот такую вот картинку?
    Нужно преобразовать в формат BMP 320х240 256 цветов в палитре 15бит в редакторе, например, в GIMP это можно сделать так:

    File -> Save as... -> 640x480_24bit.bmp [ENTER]
    Advanced options -> 24 bits = R8 G8 B8 [SAVE]

    File -> Save as... -> 640x480_15bit.bmp [ENTER]
    Advanced options -> 16 bits = X1 R5 G5 B5 [SAVE]

    File -> Open... -> 640x480_24bit.bmp [ENTER]
    Image -> Scale Image... -> Wight=320, Height=240 [SCALE]
    File -> Save as... -> 320x240_15bit.bmp [ENTER]
    Advanced options -> 16 bits = X1 R5 G5 B5 [SAVE]

    Image -> Mode -> Indexed... - > Generate optimum palette ->
    Maximum number of colors: 256 [CONVERT]
    File -> Save as... -> 320x240_8bit_palette.bmp [ENTER]



    В результате получится 4 файла в разных форматах для сравнения. 15 бит и 24 бита неразличимы на глаз. Зачем делать 8 бит, если такие тонкие оттенки не видно. Тем более после применения палитры на экране будет только 256 оттенков и некоторые цвета все равно потеряются. Можете сами проверить, кто не верит.

    Последний раз редактировалось zx-kit; 15.06.2015 в 18:29.
    "L-256"

  5. #214

    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    52 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Картинки к игре - это хорошо, но это еще не игра. Игра - это тайлы и спрайты. В играх для PC тех времен: WARCRAFT2, STARCRAFT тоже использовались тайлы и спрайты. На приведенной выше картинке игрового экрана можно заметить, что трава нарисована из повторяющихся фрагментов. Разрешение экрана в STARCRAFT 640х480, но суть от этого не меняется. Чтобы заполнить экран травой надо нарисовать несколько спрайтов травы, а потом заполнять этими тайлами-спрайтами весь экран. Подробнее можно посмотреть тут и тут.

    У нас не такие возможности, как у PC или игровых приставок, но кое в чем мы можем их обогнать. Видеокарту создаем мы сами и придумаем такой способ вывода спрайтов на экран, который устраняет недостатки старых видеорежимов. Например, количество оттенков 256 из палитры иногда может усложнять вывод изображений, для которых нужны совсем другие цвета. Например, для игрового поля нужны свои цвета, а для панели управления - другие. Как же можно выйти из этой ситуации ?

    Можно на экране хранить изображение в формате 15 бит на точку. Тогда одновременно на экране можно изобразить около 30000 оттенков. Чтобы это использовать нужно ввести новый формат спрайта. Каждая точка в спрайте может быть одного из 15 оттенков или прозрачной. При печати на экране спрайта предварительно указывают номер ее палитры. Видеокарта после этого загружает 15-цветную палитру по 15 бит на цвет. Это займет 15*15=225 триггеров в ПЛИС/FPGA. После этого видеокарте нужно будет сообщить координаты для печати спрайта и номер спрайта. Видеокарта с ОЗУ шиной данных 32 бита загружает информацию о номерах цветов сразу 8 точек. Палитра для этого спрайта уже загружена. Остается перекодировать 4-битные цвета в 15 битные и записать их в ОЗУ экрана. Уже по 2 точки сразу, но 15 битов на точку. Для изображения на телевизоре или мониторе теперь достаточно прочитать 15 битов для каждой точки (читать можно сразу по 2 точки, так как ОЗУ 32 бита) и вывести их на три ЦАП по 5 битов. Если нужно напечатать остальные спрайты травы - палитру уже загружать не надо.

    Для печати спрайтов песка, камней, воды и т.п. объектов загружаем сначала палитру для этого объекта, а затем печатаем 15 цветные спрайты. 16 цвет - прозрачный позволяет накладывать спрайт произвольной формы поверх изображения на экране.

    Кроме того, что спрайты у нас стали занимать в два раза меньше, цветастость экрана повысилась, мы еще получили возможнось менять цвет спрайтов при выводе, указывая другую палитру.

    Допустим нам надо изображать множество предметов или объектов одинаковой формы но разного цвета. Это могут быть шарики, машинки, человечки, разноцветные лампочки, ключи, кирпичи при дневном свете или в подземелье и т.п. Мы рисуем предмет в 15 оттенках серого. И создаем несколько универсальных палитр по 15 оттенков основных цветов. А теперь при печати этих спрайтов просто указываем нужную палитру - и у нас предмет автоматически перекрашивается.
    "L-256"

  6. #215

    Регистрация
    14.09.2014
    Адрес
    г. Гусь-Хрустальный
    Сообщений
    603
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Прозрачность в спрайтах есть, но возможно ли сделать ещё и полупрозрачность?

    Скрытый текст

    ZX Spectrum +2 +divIDE + BDI
    Profi 1024k plus
    Scorpion ZS-256 Turbo+
    ZX Evolution rev.C2+NeoGS+SDCard HxC Floppy Emulator
    ZX Evolution rev.C2+ZXM-SoundCard Extreme+ZXM-MoonSound
    AVR ZX Spectrum V2.0
    Орион 128
    [свернуть]

  7. #216

    Регистрация
    11.04.2009
    Адрес
    г. Санкт-Петербург
    Сообщений
    3,603
    Записей в дневнике
    15
    Спасибо Благодарностей отдано 
    19
    Спасибо Благодарностей получено 
    67
    Поблагодарили
    52 сообщений
    Mentioned
    1 Post(s)
    Tagged
    1 Thread(s)

    По умолчанию

    Идея хорошая. Теоретически можно, но для этого нужно цвет точки на экране и точки печатаемого спрайта смешать по определенному закону. По какому ? Можно ли это сделать в ПЛИС ? Кроме этого нужен какой-то признак, что цвет полупрозрачный. И для этого нужно будет сначала прочитать цвет точки с экрана, что немного замедлит работу.

    Хотя может потребоваться также возможность сохранять фон с экрана при печати спрайта, чтобы потом восстановить его. Для этого тоже надо будет читать цвет точек с экрана. Есть у кого соображения как это лучше делать ?

    При печати спрайтов можно предусмотреть установку режима печати:

    1. Сохранение фона под спрайтом.
    2. Простая печать.
    3. Восстановление фона под спрайтом.
    4. Печать с полупрозрачным закрашиванием фона.
    5. ?

    Также нужно выбрать тип спрайтов:

    1. 4 бита на точку, несколько палитр по 15 битов, в спрайте 15 цветов из палитры + прозрачный.
    2. 8 битов на точку, одна общая палитра по 15 битов, в спрайте 255 цветов из палитры + прозрачный.

    Вопросы:

    1. как осуществлять смешивание цветов ?
    2. как сохранять фон под спрайтом и как его потом восстановить ?
    Последний раз редактировалось zx-kit; 16.06.2015 в 10:59.
    "L-256"

  8. #217

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Если при возможностях вывода 256 цветов мы печатаем спрайты 16ю цветами (15 цветов+1 прозрачный), то мы всё-ровно не прыгнем выше 256цветов. Т.е. если каждый спрайт со своей палитрой, тогда мы можем вывести только 16 спрайтов со своей палитрой каждый в 16 цветов из набора 64к цветов (16 бит). И в данном случае принципиально не важно, какая палитра у нас, хоть 16 бит, хоть 15, хоть 24. Если карта позволяет выводить на экран максимум 256 цветов, то хоть тут завыводись палитры, всё-ровно 256 цветов и всё. единственное, разделять области экрана на планы и давать на каждый план свою палитру, например 4 плана по 256 цветов каждый, тогда уже интересно. кроме того есть ещё одна особенность вывода индексных спрайтов (т.е. которые 8бит на точку). например, мы загрузили какой-то фон. большая картинка на весь экран. предположим, что ей мы отдали 160 цветов из общедоступных по возможностям экрана. остаётся у нас только 96цветов на все остальные спрайты (герои, эффекты и прочее). поскольку фон был выведен первым, цвета от 0 до 159 уже заняты под фон. если в спрайтах нет тех же цветов с теми же индексами, тогда придётся после загрузки спрайта сделать переиндексацию на палитру под этот спрайт, т.к. цвета в палитре уже смещены на +160. Можно конечно предположить, что карта может держать несколько наборов по N кол-во палитр для того же нгабора спрайтов и тогда всегда цвета будут иметь корректные индексы от 0 до 16 (или до 15+16й цвет прозрачность). Условие прозрачности обязательно должно иметь возможность игнорирования, т.к. всегда могут быть спрайты без прозрачного цвета, а все 16 цветов было бы желательно использовать в таких случаях. Но при этом даже удерживая где-то у недрах карточки буфера под наборы палитры, имеет ограничение самого экрана на 256 цветов. т.е. каждый набор спрайтов для пользователя индексируются как 0 - 15, но с точки зрения устройства вывода карточки индексы должны быть от 0 до 255. таким образом можно иметь только 16 наборов по 16 цветов.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  9. #218

    Регистрация
    19.06.2014
    Адрес
    г. Харьков, Украина
    Сообщений
    731
    Спасибо Благодарностей отдано 
    6
    Спасибо Благодарностей получено 
    16
    Поблагодарили
    15 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    2. как сохранять фон под спрайтом и как его потом восстановить ?
    Спрайты выводятся во время формирования изображения, отсюда ответ, никакой фон под ними сохранять и востанавливать не надо

  10. #219

    Регистрация
    14.09.2014
    Адрес
    г. Гусь-Хрустальный
    Сообщений
    603
    Спасибо Благодарностей отдано 
    84
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Полупрозрачность надо задавать не на точку спрайта, а указывать на весь спрайт.
    Цитата Сообщение от zst Посмотреть сообщение
    как сохранять фон под спрайтом и как его потом восстановить ?
    Зачем сохранять фон? Он и так должен каждый раз выводится при отрисовке экрана, в пиксель попадает либо фон, либо спрайт. Стоит предусмотреть приоритет отрисовки спрайтов при их наложении друг на друга.

    Скрытый текст

    ZX Spectrum +2 +divIDE + BDI
    Profi 1024k plus
    Scorpion ZS-256 Turbo+
    ZX Evolution rev.C2+NeoGS+SDCard HxC Floppy Emulator
    ZX Evolution rev.C2+ZXM-SoundCard Extreme+ZXM-MoonSound
    AVR ZX Spectrum V2.0
    Орион 128
    [свернуть]

  11. #220

    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,280
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Спрайты выводятся во время формирования изображения, отсюда ответ, никакой фон под ними сохранять и востанавливать не надо
    это нужно делать, если в качестве фона используется полноэкранная картинка.
    Мы же вначале картинку фона вывели, а потом поверх неё уже кидаем спрайты, ящики всякие, уроды. герои...
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

Страница 22 из 109 ПерваяПервая ... 181920212223242526 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 2 (пользователей: 0 , гостей: 2)

Похожие темы

  1. Ответов: 17
    Последнее: 26.12.2015, 23:22
  2. Ответов: 19
    Последнее: 30.09.2011, 03:08
  3. Ответов: 0
    Последнее: 15.08.2010, 14:38
  4. Ответов: 18
    Последнее: 27.08.2008, 20:27
  5. Ответов: 6
    Последнее: 20.11.2007, 11:29

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •