User Tag List

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

Тема: Трудно ли программировать спрайтовые движки?

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

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1
    Activist Аватар для Romanich
    Регистрация
    02.11.2006
    Адрес
    Владивосток
    Сообщений
    481
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    0
    Поблагодарили
    0 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию Трудно ли программировать спрайтовые движки?

    Приветствую всех!

    Не секрет наверное, что я сделал видеокарточку на основе V9990. Что за зверь-думаю объяснять тоже не надо...

    В прошлом я сталкивался с программированием 2D-графики на ПЦ. Начинал с софтварной реализации движков, закончил акселерацией "старых" видеокарточек (STrio 64V+, Voodoo2,Vooodoo3, S3 Savage4, RivaTNT M64). Программил естественно под DOS'ом не используя никаких графических библиотек. Пришёл к выводу, что пчти все 2D-движки вышеуказанных акселерированных карточек содержат следующее:
    1) Вторичную поверхность - где хранятся спрайты(битмапы)
    2) Первичную поверхность - которая отображается на экране
    3) Далее идёт либо блитинг поверхностей (с задней поверхности на первую) либо флипинг (когда поверхности рисуемые и отображаемые меняются местами с частотой развёртки дисплея)
    4) BitBlt со всеми разновидностями (прозрачность/операции...)
    5) Аппаратное Отсечение частей спарйтов(битмапов, выходящих за пределы экрана)
    6) Растровые операции при блитинге и битовые маски

    При освоении спрайтовых режимов V9990 столкнулся с трудностями - ИМХО неудобно пользоваться спрайтами, так как это на мой взгляд усложняет программирование графики. В памяти VDP есть таблица атрибутов спрайта где указываются: x,y - спрайта, его индекс палитры и атрибуты (mirror/enable /disable,...). Неудобно писать алгоритмы на столкновение двух спрайтов, малое количество цветов на один спрайт, принуждение бить на куски большое изображение итп итд...

    Вопрос вот в чем. Может кто-нибудь, кто программил спрайтовые (тайловые) режимы объяснит, как надо писать программы, используя спрайты. В частности интересуют:

    1) Как быстрее всего битмап побить на спрайты и оптимизировать цвета при разбиении

    2) Как реализовать анализ на столкновение спрайтов

    3) Как рулить спрайтами, чтоб удобно выводить большое изображение из них

    4) как должен быть построен основной цикл в программе для вывода сих спрайтов

    5) и многое другое чего не назвал, но существует в природе

    Для V9990 учесть, что 1спрайт=16x16pix, 16 цветов

    С удовольствием выслушаю советы и предложения программеров, которые использовали спрайтовую графику
    EMU Apparatchik Romanich
    http://emu-apparatchik.narod.ru

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

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

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

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

Ваши права

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