User Tag List

Страница 39 из 71 ПерваяПервая ... 353637383940414243 ... ПоследняяПоследняя
Показано с 381 по 390 из 703

Тема: Новый графический режим для игр

  1. #381

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    идея простого расшмрения графики звучит неплохо, но расширение разрядности цвета несколькими записями по одному адресу будет проблемным - сложно определить что в данный момент времени нужно писать в ячейку - старший или младший байт.
    Количество цветов можно увеличить за счет бита flash, он почти нигде не используется.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  2. #382

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    идея простого расшмрения графики звучит неплохо, но расширение разрядности цвета несколькими записями по одному адресу будет проблемным - сложно определить что в данный момент времени нужно писать в ячейку - старший или младший байт.
    Количество цветов можно увеличить за счет бита flash, он почти нигде не используется.
    Не так уж и сложно. Допустим режим 3 цвета + прозрачный. Надо записывать по 2 байта. Запись первого байта в область пикселов - байт с 0 битами, запись следующего - байт с 1 битами номера цвета и т.д.

    Для режима 2 цвета + маска. Надо записывать по 2 байта. Запись первого байта в область пикселов - маска, запись следующего - байт пикселов и т.д.

    В чем сложность ?

    После записи двух байтов в область пикселов получаем 8 точек с номерами цветов с помощью атрибута, записываем полученные 8 байтов в слой 1 (те точки, которые не прозрачные). При отображении нескольких слоев анализируем прозрачность точек.
    Последний раз редактировалось zx-kit; 20.08.2015 в 18:00.
    "L-256"

  3. #383

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от zst Посмотреть сообщение
    Не так уж и сложно. Допустим режим 3 цвета + прозрачный. Надо записывать по 2 байта. Запись первого байта в область пикселов - байт с 0 битами, запись следующего - байт с 1 битами номера цвета и т.д.

    Для режима 2 цвета + маска. Надо записывать по 2 байта. Запись первого байта в область пикселов - маска, запись следующего - стандартный атрибут и т.д.

    В чем сложность ?
    Проблема в том что все эти навороты с битами - это мышиная возня, софта под эти режимы нет, а эффект от них будет очень незначительный.
    Тут выше очень неплохая идея про 3D акселератор пробегала. Если ее адапитировать то мне кажется может получиться неплохая штука для спектрума. 3д это для аппаратной реализации будет сложновато, а вот сделать 2д акселератор наверно можно.

    Суть в чем - можно сделать виртуальный видеорежим, в котором видеопамяти как таковой не будет. Будут только команды акселератору. По аналогии с Open GL и Direct3D. Т.е. Z80 при инициализации загружает в видеопамять текстуры. А потом просто выдает набор команд с координатами спрайта и идентификатором текстуры. Таким образом мы получаем спрайты любого разрешения с любой битностью цвета, затрачивая на каждый всего десяток инструкций Z80.

    Для векторной графики можно добавить команды отрисовки линий и треугольников. Одна команда будет рисовать wireframe, другая заливать фигуру нужным цветом, третья заливать текстурой с указанным id.

    Таким образом можно модифицировать ту-же элиту, чтобы она рисовала текстурированную 3д графику современного уровня, любого разрешения и с любой разрядностью цвета.

    Это действительно для спектрума будет прорывом в графике.

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

    Вопрос только в том, будет ли ктото это программно поддерживать, возьмется ли ктото ту-же элиту под новый режим переделать? Я бы в эмуляторе такой режим мог прикрутить...
    Последний раз редактировалось ZXMAK; 20.08.2015 в 18:15.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  4. #384

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

    По умолчанию

    Я тоже сначала так думал, но надо начать с простого. Сделать в эмуляторе режим 2 цвета + маска, переделать пару игр и посмотреть разницу. Alex_Rider модернизирует Saboteur2. Думаю ему несложно будет добавить этот режим в игру на экране настроек. Игра без клешинга должна выглядеть намного лучше.
    Последний раз редактировалось zx-kit; 20.08.2015 в 18:20.
    "L-256"

  5. #385

    Регистрация
    30.01.2006
    Сообщений
    1,921
    Спасибо Благодарностей отдано 
    73
    Спасибо Благодарностей получено 
    119
    Поблагодарили
    80 сообщений
    Mentioned
    4 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Все эти режимы с битами, масками и прочей ерундой - это тупик. И вот почему - процессору прийдется всеми этими битами манипулировать. Запись одного байта на точку - это уже тупик. Z80 будет все свое время тратить на то, чтобы небольшой спрайт нарисовать. Я думаю эффект можно получить только освобождением процессора от всех этих манипуляций, а не нагружая его еще сильней.
    В идеале z80 выполняет инициализацию и дальше только клавиатуру опрашивает, а графика сама рисуется.
    ZXMAK2 - Виртуальная Машина ZX Spectrum https://github.com/zxmak/ZXMAK2 (старая ссылка http://zxmak2.codeplex.com)
    ZXMAK.NET - спектрум на C# http://sourceforge.net/projects/zxmak-dotnet

  6. #386

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

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Все эти режимы с битами, масками и прочей ерундой - это тупик. И вот почему - процессору прийдется всеми этими битами манипулировать. Запись одного байта на точку - это уже тупик. Z80 будет все свое время тратить на то, чтобы небольшой спрайт нарисовать. Я думаю эффект можно получить только освобождением процессора от всех этих манипуляций, а не нагружая его еще сильней.
    В идеале z80 выполняет инициализацию и дальше только клавиатуру опрашивает, а графика сама рисуется.
    Режимы спроектированы так, что Z80 на режимы без клешинга будет тратить меньше времени, чем на режимы с клешингом.

    Примеры рисования 8 точек в различных режимах

    Перед рисованием очередного тайла/спрайта нужно выбрать текущие цвета точек с помощью переменной attr. В режимах "2 цвета" и "2 цвета + маска" он точно такой же, как и атрибут в стандартной графике ZX Spectrum-а.

    Пример рисования 8 точек тайла/спрайта с клешингом атрибутов (в стандартном режиме):
    Прочитать байт с экрана
    Прочитать байт маски тайла/спрайта
    Сложить по определенному закону (AND)
    Прочитать байт пикселов тайла/спрайта
    Сложить по определенному закону (OR)
    Записать в область пикселов экрана

    Пример рисования 8 точек тайла/спрайта в режиме 2 цвета:
    Прочитать байт пикселов тайла/спрайта
    Записать в область пикселов экрана

    Пример рисования 8 точек тайла/спрайта в режиме 2 цвета + маска:
    Прочитать байт маски тайла/спрайта
    Записать в область пикселов экрана
    Прочитать байт пикселов тайла/спрайта
    Записать в область пикселов экрана

    Пример рисования 8 точек тайла/спрайта в режиме 3 цвета + прозрачный:
    Прочитать первый байт тайла/спрайта
    Записать в область пикселов экрана
    Прочитать второй байт тайла/спрайта
    Записать в область пикселов экрана

    Пример рисования 8 точек тайла/спрайта в режиме 4 цвета:
    Прочитать первый байт тайла/спрайта
    Записать в область пикселов экрана
    Прочитать второй байт тайла/спрайта
    Записать в область пикселов экрана
    Последний раз редактировалось zx-kit; 15.09.2015 в 05:35.
    "L-256"

  7. #387

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

    По умолчанию

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

  8. #388

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ZXMAK Посмотреть сообщение
    Таким образом можно модифицировать ту-же элиту
    Там 48К мозголомного математического кода... Кладову понадобился год академа чтобы разобраться и поменять там что-то. Даже с учетом удобства всяких ужасмов и отладчиков в эмулях не думаю, что эта идея подъемная.

  9. #389

    Регистрация
    16.08.2005
    Адрес
    Estonia,Tallinn
    Сообщений
    1,131
    Спасибо Благодарностей отдано 
    55
    Спасибо Благодарностей получено 
    257
    Поблагодарили
    195 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Интересно, а кто напишет графический интерфейс пользователя (GUI) - систему средств для взаимодействия пользователя с устройством предоставляющую этому пользователю все системные объекты и функции в виде графических компонентов к примеру?
    вариант "никто" устроит?

  10. #390

    Регистрация
    07.02.2008
    Адрес
    г. Рязань
    Сообщений
    2,928
    Спасибо Благодарностей отдано 
    37
    Спасибо Благодарностей получено 
    124
    Поблагодарили
    44 сообщений
    Mentioned
    5 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от MVV Посмотреть сообщение
    Интересно, а кто напишет графический интерфейс пользователя (GUI) - систему средств для взаимодействия пользователя с устройством предоставляющую этому пользователю все системные объекты и функции в виде графических компонентов к примеру?
    А зачем? Как бы цель создания карточки - для разработки и адаптации игр.

Страница 39 из 71 ПерваяПервая ... 353637383940414243 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 18
    Последнее: 11.04.2021, 10:54
  2. графический редактор
    от yur в разделе Вектор
    Ответов: 1
    Последнее: 08.11.2012, 13:01
  3. графический режим на Атари
    от goblinish в разделе Atari
    Ответов: 3
    Последнее: 06.01.2012, 11:19
  4. графический софт для 48 К
    от goglus в разделе Софт
    Ответов: 6
    Последнее: 02.08.2006, 15:33

Ваши права

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