User Tag List

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

Тема: Быстрый попиксельный вывод спрайтов с маской без таблиц

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

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

    Регистрация
    01.03.2005
    Адрес
    Новосибирск
    Сообщений
    2,082
    Спасибо Благодарностей отдано 
    88
    Спасибо Благодарностей получено 
    480
    Поблагодарили
    145 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    CityAceE, основаня идея быстрого сдвига без таблиц у меня была в том, при копировании спрайта из места хранения в буфер, который уже выводится на экран использовался сразу сдвиг на 1 пиксель влево или вправо, или без сдвига. Тут смысл в том, что если спрайты например хранились в отдельном банке, а вывести сдвинутый спрайт нужно на 5/7 экраны и спрайты у и тебя упакованные по строкам. Используется примитивный RLE, где ты можешь повторяющиеся строки или даже части спрайта не хранить повторно. Так вот, быстро сдвинув (RRA/RLA) при распаковки и копировании в буфер и получив предсдвинутый спрайт, при выоде на экран его нужно всего лишь досдвинуть до нужной фазы... например для фазы 0: выводим как есть, сдвигать не надо, для фазы 1 используем предсдвинутый при коприровании в буфер спрайт, для фазы 2 - используем предвинутый при коприровании и дополнительно сдвигаем его при выводе на экран на 1 пиксель. Самые меделенные фазы это сдвиг на 3 и 5 пикселей, понятно как быстро сдвинуть на 6 и 7 пикселей. Для 7 используем двиг влево, и для 6 используем сдвиг влево + доп сдвиг на пиксель, только нужно сместить указатель на адрес буфера. Ну, а для сдвигов на 3 и 5 используем RLD/RRD команды, сдвиг на полубайт, в сочетании с предсвдинутым буфером. Эта же команда используется для сдвига на 4. Рабочий пример этого способа, я выкладывал здесь на форуме. Сама процедурка получилась очень компактной и достаточно быстрой, конечно табличный метод работает чуть быстрее на 30% где-то, но если поджимает память то выкручиваться можно вот таким способом.

    Эти 2 пользователя(ей) поблагодарили drbars за это полезное сообщение:

    CityAceE(08.02.2025), Oleg N. Cher(10.02.2025)

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

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

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

Похожие темы

  1. Попиксельный raycasting и sjasm
    от Destr в разделе Программирование
    Ответов: 98
    Последнее: 22.01.2020, 23:31
  2. Ответов: 7
    Последнее: 03.11.2015, 18:22
  3. Спрайтовывыводилка с пиксельной точностью без таблиц
    от shadwork в разделе Программирование
    Ответов: 11
    Последнее: 20.08.2015, 20:23
  4. Быстрый вывод картинки 88*88
    от ALKO в разделе Программирование
    Ответов: 49
    Последнее: 31.03.2011, 11:33
  5. Попиксельный скролл на Асме
    от helcril в разделе Для начинающих
    Ответов: 8
    Последнее: 17.12.2009, 09:31

Ваши права

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