User Tag List

Показано с 1 по 10 из 217

Тема: ROBOTZ! Releases

Древовидный режим

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #11

    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    336
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от esl Посмотреть сообщение
    а можно подробностей немного про этот режим, а то не понятно вне контекста вектор ...
    Попробую. Правда, я не лучший объяснятель, но всё-же. Если что, спрашивайте, да и ivagor тут рядом.

    Дальше - не реклама

    Видеоадаптер Вектора-06ц/06ц-02 (существенные для эффекта вещи):

    - 256-цветная палитра из 332 цветового пространства
    - аппаратный вертикальный скроллинг на произвольное количество строк
    - 4 видеоплоскости по 8К каждая
    - 2 видеорежима, высокого и низкого разрешения.

    В режиме низкого разрешения, цвет пиксела на экране формируется как значения битов в плоскостях с координатами пиксела. Единичные биты в соответствующих плоскостях дают весовые коэффициенты 8,4,2,1, что приводит к 16 возможным комбинациям. Очень похоже на EGA.

    При использовании всех 4х плоскостей это позволяет выводить до 2^4 = 16 из 256 различных цветов одновременно, простым программированием палитры (2х-байтовый регистр-секвенсор: номер цвета, значение и так 16 раз).
    Количество цветов на экране можно уменьшать тем-же программированием палитры. Скажем, если в палитру запихнуть следующие 16 цветов, то получится 8-цветный режим:
    100 101 102 103 104 105 106 107 100 100 100 100 100 100 100 100
    При этом видео плоскость с весовым коэффициентом 8 может быть использована как обычный RAM (маскирование цветом).

    Идея состоит в следующем: 3 плоскости отводятся под изображение.
    Экран делится пополам по горизонтали. Изображение будет в пол-экрана высотой и на всю ширину.

    Одна плоскость отводится под "полумаску": в ней рисуется прямоугольник на всю ширину и половину высоты экрана.

    Палитра перепрограммируется каждый кадр таким образом, чтобы получилось 8 цветов, но половина экрана (верх или низ) всегда была замаскирована цветом. Скажем, если под маску выбрана плоскость с цветовым весом 8, то вторая палитра к 3-х цветному примеру выше, будет выглядеть как
    100 100 100 100 100 100 100 100 100 101 102 103 104 105 106 107

    Отрисовка всегда идёт в замаскированную цветом половину экрана. В это время на экране "размаскированное" изображение. По окончанию отрисовки кадра, выполняется перепрограммирование палитры и аппаратный скроллинг экрана на пол высоты. Profit. Полуэкранный 8-цветный double video frame buffer.

    Уфф . Надеюсь, не затуманил ещё больше.
    В принципе, код я не потёр ещё, и могу завести в репозитории branch и кинуть туда для изучения, если хотите. Все основные изменения - в файле SLR.mac (SLR - это Sprite Level Renderer, a не Single Lens Reflex ). Простое сравнение в каком-нить WinMerge всё покажет лучше 1000 слов. Заливать?

    ---------- Post added at 20:20 ---------- Previous post was at 20:12 ----------

    Цитата Сообщение от ivagor Посмотреть сообщение
    Мне кажется, что нечто эксолоноподобное в таком режиме вполне реализуемо
    ivagor, да, согласен, но там ведь нет скроллинга, как такового. Только чтобы спрайты не мерцали, наверное.
    Но всё-таки стратегия будет сиять в этом режиме. Там скорость скроллинга не так важна, как отсутствие мерцания. Самое то вроде.
    Ну будет fps в районе 6-8, ведь не смертельно. Зато - субтайловые оверлеи на все 8 цветов и абсолютно без мырганья... эх, красота ведь!
    Последний раз редактировалось PPC; 07.03.2015 в 04:44.

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

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

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

Ваши права

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