Немного еще посмотрел в то как именно работают палетризированные цвета в Saturn, ибо там сразу было видно, что дела обстоят непростым образом, но за ворохом слов было не очень понятно.
Оказалось что и с палитрами там всё очень сложно.
Во первых — при рендере текстурированного спрайта в 16-битный фреймбуфер данные о цвете его битмапа могут быть представлены непосредственно как 16-битные значения, а могут быть 4-битными слотами в 16-цветной палитре 16-битных же цветов. Но в любом случае во фреймбуфер попадает 16-битное данное у которого верхний бит контролирует является оно RGB или является цветом в палитре.
Так вот когда оно является цветом в палитре существует 8 глобально выставляемых форматов того какие биты в нём отвечают за:
а) номер цвета в палитре (до 10 бит)
б) порядок отрисовки между задними фонами (до 3-х бит)
в) номер расширенного вычисления цвета (до 3-х бит)
г) бит «тени»
Кроме того для 8-битного режима фрембуфера есть так же 8 форматов как эти же биты, но уже в урезанном количестве распределены по 8-битному данному о цвете в нём.
И там такая битовая мешанина из сотен регистров управляющих всякими этими битовыми комбинациями, что как говорится «без поллитры не разберешься».
Реально ловлю то же самое ощущение что было в похожем по духу эпохи 3DO — вся эта битово-палитрово-слоевая мехника переусложнена до жути.
Мегадрайв от той же фирмы был просто гимном лаконичности и простоты своей графической начинки — одна палитра, один палитровый режим и для спрайтов и для тайлов, но пасаран. Тут же прям им крышу сорвало на то как впихать в биты как можно большее число всяких палитр, режимов и цветов. Сомневаюсь что даже половина этих всех вещей была в реальности востребована.
А вот дальше еще на другом форуме подсказали, что была такая весьма забавная видеокарта как Diamond Edge 3D — согласно википедии первая видеокарта на пользовательском рынке ПК с аппаратным ускорением (95-ый год). Так вот это был некий синтез видео- и звуковых чипов из Sega Saturn в виде платы для IBM PC. И вот тут всё стало совсем интересно, ведь Diamond Edge 3D в сердце своём содержит чип NV1 который разработала, да, nVidia.
Похоже, что это был одна из первых попыток этой фирмы продвигать 3Д в массы.
В статье про Sega Saturn этому посвящена всего одна строчка (мой перевод):
Шеффилд сказал, что использование Сатурном четырёхугольников подорвало поддержку системы третьими сторонами, но поскольку «nVidia вложилась в четырёхугольники» в то же время есть «отдалённая возможность», что они смогут «стать стандартом вместо треугольников», если каким то образом, магически, Сатурн стал бы самой популярной консолью той эпохи".
И удивительно, но в русском википедии есть гораздо больше интересной информации, чем в английской: ru.wikipedia.org/wiki/NV1
Использование квадратичных поверхностей было элегантным и абсолютно новым решением в 3D-мире. Хотя теория была придумана давно, в железе такого до этого никто не делал. Главная идея заключалась в том, что в 1995 году реализовать операцию деления 1/z в железе была невероятно сложно и дорого, и в результате этого имплементировать перспективную проекцию было очень трудно. Классический подход, заключавшийся в линейной аппроксимации гиперболической функции, имел свою проблему аппроксимации в окрестности нуля и требовал сложного программного обеспечения. Квадратичная теория, использованная в NV1, аппроксимировала функцию 1/z параболической интерполяцией и такая интерполяция по качеству превосходила кусочно-линейную, которая была использована в решениях конкурентов.
…
Попытка исследовательской группы NVIDIA портировать квадратичную технологию на API Microsoft провалилась. Попытка выполнить наложения текстуры и операцию clipping приводило к уравнениям 5 степени невычислимыми в радикалах. Хотя демонстрационные примеры с квадратичными поверхностями выглядели довольно неплохо, работа с ними оказалась чрезвычайно трудной.
…
Дальнейшая разработка NV1 под новым названием — NV2 была остановлена, NV1 производство было свернуто. В 1996 году Nvidia начала разработку классического акселератора.
Хех, оказывается за этими квадратностями стояла никто иная, как сама nVidia и это был её первый блин комом.
Помню, в телеге я сказал что Валли — конверсия. Не знал, что здесь был такой подход издалека и с предварительным рендером-блендером. Короче, беру слова назад, отличная работа от и до!
Конкретику писать нет смысла, потому что конкретику должен диктовать тот, кто её будет делать. Тем не менее, чтобы не сливаться с ответа, опишу своё личное гипотетическое видение шагов:
0. Нужны люди, желающие взять на себя отвественность и делать.
1. Нужно принять решение, что делать с расколом конфигураций и разным видением.
1.1 Если разработчики/представители обеих конфигурациий готовы забыть весь взаимный пиздец и работать совместно, то лучше работать совместно. Этот пункт из разряда ненаучной фантастики, но попытаться хотя бы поговорить друг с другом можно.
1.2 Если договориться никак, то надо выбрать одну конфигурацию как главную для ZX Evolution, а другую оставить чисто энтузиастам.
2. Нужно связаться с реально работающим производителем железа и спросить его мнение. Что он хочет, что ему нужно, каково его видение будущего платформы.
2.1 Если видение совпадает, то работать вместе.
2.2 Если договориться о совместной системной работе с взаимным выполнением неких обязательств не выходит, то нужно искать и заинтересовывать еще кого-то.
2.3 Если никого нет, то аллес капут и проблема нерешаемая, всем ждать пришествия некста.
3. Предположим, что с конфой определились, железный разработчик мотивирован делать. Нужно превратить имеющуюся разработку в готовый к использованию продукт.
3.1 Пересмотреть стоимость на предмет адекватности/неадекватности.
3.2 Продумать доставку, если не продумана.
3.3 Изготовить мануал юзера. Для бейзы вроде был, а для тс? Нужен один или две? Зависит от пункта 1.
3.4 Решить вопрос с корпусом.
3.5 Решить вопрос с легким подключением к монитору.
3.6 Оформить канал онлайн-продажи. Не «напиши письмо дяде», а «добавил в корзину, оплатил, получил».
3.7 Завести в онлайн продажу и изготовление периферии.
3.8 Обеспечить централизованный онлайн-саппорт прямо там же.
4. Дальнейшее движение для привлечения софтописателей.
4.1 Открыть базу знаний по платформе/платформам.
4.2 Подготовить набор туториалов.
4.3 Решить вопрос с единым каталогом софта.
4.4… фантазию можно дальше разогревать долго.
Платформа сейчас на уровне пункта 0. Лично я сам перегружен и не готов как-либо помогать, кроме как в рамках ZX-Art, или когда-либо поучаствовать графикой в создании какого-то прода, поэтому толку от того, что я тут это пишу — нуль.
соответственно — всё разъехалось, все мультиколоры, бордюры, всё.
Пишите пожалуйста так, как будто читатели не в курсе событий на Спектрумовской сцене.
Оказалось что и с палитрами там всё очень сложно.
Во первых — при рендере текстурированного спрайта в 16-битный фреймбуфер данные о цвете его битмапа могут быть представлены непосредственно как 16-битные значения, а могут быть 4-битными слотами в 16-цветной палитре 16-битных же цветов. Но в любом случае во фреймбуфер попадает 16-битное данное у которого верхний бит контролирует является оно RGB или является цветом в палитре.
Так вот когда оно является цветом в палитре существует 8 глобально выставляемых форматов того какие биты в нём отвечают за:
а) номер цвета в палитре (до 10 бит)
б) порядок отрисовки между задними фонами (до 3-х бит)
в) номер расширенного вычисления цвета (до 3-х бит)
г) бит «тени»
Кроме того для 8-битного режима фрембуфера есть так же 8 форматов как эти же биты, но уже в урезанном количестве распределены по 8-битному данному о цвете в нём.
И там такая битовая мешанина из сотен регистров управляющих всякими этими битовыми комбинациями, что как говорится «без поллитры не разберешься».
Реально ловлю то же самое ощущение что было в похожем по духу эпохи 3DO — вся эта битово-палитрово-слоевая мехника переусложнена до жути.
Мегадрайв от той же фирмы был просто гимном лаконичности и простоты своей графической начинки — одна палитра, один палитровый режим и для спрайтов и для тайлов, но пасаран. Тут же прям им крышу сорвало на то как впихать в биты как можно большее число всяких палитр, режимов и цветов. Сомневаюсь что даже половина этих всех вещей была в реальности востребована.
А вот дальше еще на другом форуме подсказали, что была такая весьма забавная видеокарта как Diamond Edge 3D — согласно википедии первая видеокарта на пользовательском рынке ПК с аппаратным ускорением (95-ый год). Так вот это был некий синтез видео- и звуковых чипов из Sega Saturn в виде платы для IBM PC. И вот тут всё стало совсем интересно, ведь Diamond Edge 3D в сердце своём содержит чип NV1 который разработала, да, nVidia.
Похоже, что это был одна из первых попыток этой фирмы продвигать 3Д в массы.
В статье про Sega Saturn этому посвящена всего одна строчка (мой перевод):
И удивительно, но в русском википедии есть гораздо больше интересной информации, чем в английской: ru.wikipedia.org/wiki/NV1
Хех, оказывается за этими квадратностями стояла никто иная, как сама nVidia и это был её первый блин комом.
Именно таких обзоров взвесьте мне побольше, раз уж я сам не езжу больше.
0. Нужны люди, желающие взять на себя отвественность и делать.
1. Нужно принять решение, что делать с расколом конфигураций и разным видением.
1.1 Если разработчики/представители обеих конфигурациий готовы забыть весь взаимный пиздец и работать совместно, то лучше работать совместно. Этот пункт из разряда ненаучной фантастики, но попытаться хотя бы поговорить друг с другом можно.
1.2 Если договориться никак, то надо выбрать одну конфигурацию как главную для ZX Evolution, а другую оставить чисто энтузиастам.
2. Нужно связаться с реально работающим производителем железа и спросить его мнение. Что он хочет, что ему нужно, каково его видение будущего платформы.
2.1 Если видение совпадает, то работать вместе.
2.2 Если договориться о совместной системной работе с взаимным выполнением неких обязательств не выходит, то нужно искать и заинтересовывать еще кого-то.
2.3 Если никого нет, то аллес капут и проблема нерешаемая, всем ждать пришествия некста.
3. Предположим, что с конфой определились, железный разработчик мотивирован делать. Нужно превратить имеющуюся разработку в готовый к использованию продукт.
3.1 Пересмотреть стоимость на предмет адекватности/неадекватности.
3.2 Продумать доставку, если не продумана.
3.3 Изготовить мануал юзера. Для бейзы вроде был, а для тс? Нужен один или две? Зависит от пункта 1.
3.4 Решить вопрос с корпусом.
3.5 Решить вопрос с легким подключением к монитору.
3.6 Оформить канал онлайн-продажи. Не «напиши письмо дяде», а «добавил в корзину, оплатил, получил».
3.7 Завести в онлайн продажу и изготовление периферии.
3.8 Обеспечить централизованный онлайн-саппорт прямо там же.
4. Дальнейшее движение для привлечения софтописателей.
4.1 Открыть базу знаний по платформе/платформам.
4.2 Подготовить набор туториалов.
4.3 Решить вопрос с единым каталогом софта.
4.4… фантазию можно дальше разогревать долго.
Платформа сейчас на уровне пункта 0. Лично я сам перегружен и не готов как-либо помогать, кроме как в рамках ZX-Art, или когда-либо поучаствовать графикой в создании какого-то прода, поэтому толку от того, что я тут это пишу — нуль.