Важная информация

User Tag List

Страница 41 из 45 ПерваяПервая ... 373839404142434445 ПоследняяПоследняя
Показано с 401 по 410 из 450

Тема: ZXKit1 - конструктор для ZX-творчества

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

    По умолчанию

    Цитата Сообщение от TSL Посмотреть сообщение
    1. Дофига ненужных копирований.
    2. Ограничиваться 2мя плоскостями неудачное решение.
    Хорошо, что 2 срамы. Я бы предложил строить изображение спрайтовой графики построчным рендерером в буфер одной строки (память альтеры), используя графику из 1й срамы. С использованием набора ФСМ и дисплейлиста. Где нибудь в памяти (ОЗУ, ФПРАМ) лежит лист, в котором описана последовательность вызова ФСМ в каждой строке. Типы ФСМ: тайлы (текстмод), спрайты (массив прямоугольных объектов), линейная графика. Для "линейной графики" в листе можно указать адрес чтения графики в данной строке, и необязательно один, можно указать 2 или более источников и смешивать их по альфе. Слоев при это может быть немеряно.
    Сюда же влазит и зумскейл спрайтов, потому что можно рассчитать адреса чтения пикселей в указанной строке экрана и координате Х по координатам и параметрам зумротации спрайта.
    Во 2й сраме можно заюзать блиттер, которым например рисовать графические примитивы или делать текстурный маппинг. Т.е. делать вещи, которые невозможно привести к ФСМ для одной строки, и которые работают в течении фрейма.
    Вывод видео читает данные из 2й срамы, накладывает поверх них (или по 0му цвету, или по альфе) оверлейный буфер, построенный по дисплейлисту из графики 1й срамы (кстати, в буфере можно хранить 4 байта РГБ+альфа).
    В принципе да, по моему способу сначала спрайты копируются блиттером из ОЗУ спрайтов в ОЗУ экрана, а потом сканером из ОЗУ экрана на TV. А у вас, имея код спрайта в памяти ПЛИС можно сканеру из этого номера получать адрес нужной точки в ОЗУ, загружать его и отображать на TV. Небольшая экономия при пересылках есть.

    Кроме этого можно каждый кадр отправлять в видеокарту номера всех спрайтов, видимых на экране и смещения отображения всех спрайтов по-горизонтали и вертикали для реализации скроллинга. Только при однобайтных номерах на экране можно отобразить только спрайты до из набора 256, а в ОЗУ спрайтов может их быть до 2048 при размере спрайта 16х16.

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

    Также больше двух слоев может пригодиться для игр типа DOOM2:
    1 слой - оружие игрока
    2 слой - ближайший монстр
    3 слой - дальние монстры
    4 слой - стены лабиринта и все остальное

    Вроде все хорошо, но потом понадобится еще больше слоев, так как на слоях 3 и 4 может быть по нескольку загораживающих друг друга объектов.

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

  2. #402
    Banned
    Регистрация
    28.12.2012
    Адрес
    Leesburg, VA, USA
    Сообщений
    974
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Такты блиттера: 1-чтение спрайта, 2-чтение фона, 3-запись в фон по маске, 4-чтение видеоконтроллером. Такты рендера: 1-чтение спрайта.

    Параллакс у меня делается элементарно: для тайловых плоскостей - изменение Х офсета на строчных интах, для спрайтов - изменение координат спрайтов.

    Я сразу и навсегда отказался от привязки "к экранам" типа зх128. Т.е. плодить костыли no-no. Экраны ЗХ вполне себе работают в качестве фоновой графики, но рекомендуется их отключать для экономии.

    Тайлы нужны для генерации фонов, пейзажей. 4 слоя конечно труЪ, но 4 я себе позволить не смог на железе пентевы. Практика показала, что 2 тоже неплохо. Остальное можно дорисовать спрайтами, их овер 9990, все они по сути представляют собой отдельные слои.

    Вообще идея изначально такая:
    - ни один цикл доступа к драме не должен быть ненужным
    - драма не должна простаивать ни одного свободного цикла.
    Первое достигается за счет использования рендерера в оверлейный буфер, второе - за счет параллельной генерации заданий парсером объектов, в то время, как рендерер дрючит память и генерит пиксели. Практически - при 448 циклах драмы на одну строку изображения я получаю около 1700+ пикселей в строке. Посчитай сколько это только полных слоев, а слои-то в основном полупустые.

    Вопрос: какая частота циклов доступа к СРАМ в твоем дизайне?

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

    По умолчанию

    Цитата Сообщение от TSL Посмотреть сообщение
    Такты блиттера: 1-чтение спрайта, 2-чтение фона, 3-запись в фон по маске, 4-чтение видеоконтроллером. VМаску тоже не надо накладывать.
    Вы не обратили внимание, что я предлагал учитывать прозрачный цвет. Поэтому читать фон не надо, а если цвет прозрачный, то и записывать не надо.
    Такты рендера: 1-чтение спрайта.
    Параллакс у меня делается элементарно: для тайловых плоскостей - изменение Х офсета на строчных интах, для спрайтов - изменение координат спрайтов.
    При аппаратном копировании прощев - скопировал в нужные координаты и забыл. Изображение потом сканер сам покажет на TV. Без дополнительных интов, хотя определенная польза в них есть.
    Я сразу и навсегда отказался от привязки "к экранам" типа зх128. Т.е. плодить костыли no-no. Экраны ЗХ вполне себе работают в качестве фоновой графики, но рекомендуется их отключать для экономии.
    В двух по-очередно отображаемых экранах есть польза. С одного экрана показываем на TV, а на другом неспешно рисуем спрайтами и линиями. К прерыванию все готово для отображения нового экрана. Для работы с предлагаемыми мной экранами мы просто указываем, какой экран отображается, а на каком строится изображение. Для этого достаточно в одном из параметров записать число 00000001 или 00000010 соответственно. В остальном работаем как и раньше - по координатам на экране.
    [QUOTE]
    Тайлы нужны для генерации фонов, пейзажей. 4 слоя конечно труЪ, но 4 я себе позволить не смог на железе пентевы. Практика показала, что 2 тоже неплохо. Остальное можно дорисовать спрайтами, их овер 9990, все они по сути представляют собой отдельные слои.
    /[QUOTE]
    Когда слой один, но есть аппаратное копирование с учетом прозрачного цвета, слои уже не очень и нужны. Можно наложить достаточно много объектов в одно место и они отобразятся правильно на экране. При этом нужно будет прочитать информацию только из одного слоя. Экономия времени !
    Вообще идея изначально такая:
    - ни один цикл доступа к драме не должен быть ненужным
    - драма не должна простаивать ни одного свободного цикла.
    Первое достигается за счет использования рендерера в оверлейный буфер, второе - за счет параллельной генерации заданий парсером объектов, в то время, как рендерер дрючит память и генерит пиксели. Практически - при 448 циклах драмы на одну строку изображения я получаю около 1700+ пикселей в строке. Посчитай сколько это только полных слоев, а слои-то в основном полупустые.

    Вопрос: какая частота циклов доступа к СРАМ в твоем дизайне?
    Частота памяти 56 МГц. Шина 16 бит. Микросхемы две. Копирование спрайта из одной SRAM в другую - за один такт до 2х точек при 256 цветах. При одном слое также для рендера можно прочитать за один такт сразу 2 точки! На чтение потратится всего 1/16 часть времени. Остальные 15/16 времени можно копировать.
    Последний раз редактировалось zx-kit; 16.06.2013 в 13:29.
    "L-256"

  4. #404
    Banned
    Регистрация
    28.12.2012
    Адрес
    Leesburg, VA, USA
    Сообщений
    974
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну вобщем развернуться есть где по скорости.

  5. #405
    Activist
    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    сделайте поддержку автономных расчетов массивов поворачиваемых 3D-точек, сортировку по глубине, выброс на экран пачек полигонов, автовывод чанковых окон, - это будет интересная к поддержке видеокарточка, что-то действительно новое, а очередная похожая на денди спрайтовка пока не очень-то вдохновляет

  6. #406
    Super Moderator Аватар для Alex Rider
    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,912
    Спасибо Благодарностей отдано 
    29
    Спасибо Благодарностей получено 
    90
    Поблагодарили
    32 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от char Посмотреть сообщение
    сделайте поддержку автономных расчетов массивов поворачиваемых 3D-точек, сортировку по глубине, выброс на экран пачек полигонов, автовывод чанковых окон, - это будет интересная к поддержке видеокарточка
    А каких продуктов под такую карточку ты ожидаешь?

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

  8. #407
    Activist
    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Alex Rider Посмотреть сообщение
    А каких продуктов под такую карточку ты ожидаешь?
    игры, демки, новые возможности...
    простота для вызова/использования "велосипедов".

    в отличии от исчерпавшихся, неинтересных к очередному повторению, спрайтов.

  9. #408
    Guru Аватар для jerri
    Регистрация
    01.03.2005
    Адрес
    Samara
    Сообщений
    4,756
    Спасибо Благодарностей отдано 
    284
    Спасибо Благодарностей получено 
    292
    Поблагодарили
    219 сообщений
    Mentioned
    12 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    char, а смысл?
    каких игр ты хочешь под z80?
    Ты в них играть будешь?
    А тот парень с улицы?
    С уважением,
    Jerri / Red Triangle.

  10. #409
    Activist
    Регистрация
    15.01.2005
    Сообщений
    201
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    7
    Поблагодарили
    7 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от jerri Посмотреть сообщение
    char, а смысл?
    каких игр ты хочешь под z80?
    Ты в них играть будешь?
    А тот парень с улицы?
    буду, и уверен, что будут.

    при такой постановке вопроса, а смысл тогда вообще что-то делать?
    а смысл делать спрайты?
    а смысл писать игры на бейсике и потом играть в них?
    а смысл просто писать игры и демки?

    интерес есть - делаем, интереса нет - не делаем, всё просто.

  11. #410
    Banned
    Регистрация
    28.12.2012
    Адрес
    Leesburg, VA, USA
    Сообщений
    974
    Спасибо Благодарностей отдано 
    0
    Спасибо Благодарностей получено 
    1
    Поблагодарили
    1 сообщение
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Давно пора, кстати.

    ---------- Post added at 16:19 ---------- Previous post was at 16:17 ----------

    ТСконфа это пробный продукт, из железа пентевы выжал все, что смог, да и пентева довольно распространенное железо.

Страница 41 из 45 ПерваяПервая ... 373839404142434445 ПоследняяПоследняя

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

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

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

Похожие темы

  1. Конструктор (ZX SDK)
    от CityAceE в разделе Программирование
    Ответов: 120
    Последнее: 02.06.2014, 18:17
  2. Конструктор"сделай сам"+АТМ 4.50 Турбо
    от Nordic в разделе Барахолка (архив)
    Ответов: 2
    Последнее: 22.11.2008, 08:27
  3. Технологии творчества-1: Как делать стихи?
    от andrews в разделе Творчество
    Ответов: 16
    Последнее: 27.06.2008, 12:30

Ваши права

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