NeXTstation Color и настоящая поддержка цвета
Настоящая поддержка цветности в компьютерах универсального назначения, впервые, появилась на компьютерах от NeXT. О том, как невозможное стало реальностью, и кто в этом виноват, я попытаюсь рассказать.
Продолжение. Предыдущие серии здесь, здесь, здесь, здесь, здесь и здесь, здесь и здесь.
Первые "персональные мейнфреймы" от NeXT цвет не поддерживали. В 1988, на пресс-конференции после "концерта", Стив объяснил, почему в первой разработке компании не поддерживается цвет.
Доходчиво, на мой взгляд. Рассуждая про наименьший общий делитель - разработчики программного обеспечения всегда ориентируются на самую слабую конфигурацию платформы...
Например, на самый маленький размер дисплея. Поэтому СЛеДующий мир, в первые год-два его истории, был сделан серым.
Но то, что понятно умному, остальные либо не слышат, либо считают попыткой увильнуть и заболтать вопрос. Какие могут быть проблемы с поддержкой цвета? Цвет уже давно поддерживается на всех компьютерных платформах, даже в дешевых PC-боксах. Уж не дальтоник ли Стив? Mac’и тоже оставались черно-белыми дольше всех остальных.
Заумный бред и обещание цветности через год-два? Смех!
Но через два года (через 23 месяца после обещания), в том же Симфоническом зале, Стив рассказал о том, что NeXT Computer считает "поддержкой цвета". Чем-то абсолютно новым этот способ не был, но применялось до сих пор только в специальных рабочих станциях, в которых цена не имела значения.
И опять: умные его поняли. Но самые умные отметили, что предмет обсуждения все еще на стадии разработки, что это невероятно сложно - и почти нереально. То есть, обман. Может быть, всего лишь ошибка: Стив зарвался. Пообещал бы он еще вывести свой предыдущий Мерседес на орбиту (Стив ежегодно покупал самую новую модель этой компании)!
В 1991 году СЛеДующий мир перестал быть серым.
NeXT Color
Заголовок можно перевести двумя способами. Но вы уже поняли. И то, о чем написано ниже, вовсе не изобретение NeXT.
В книгах про Билла Гейтса и Microsoft, для самых маленьких, было мало слов и много картинок. Чтобы не мучить подрастающее поколение, авторы не стали заморачиваться, и приписали главному герою все: изобретение персонального компьютера, операционных систем, графического пользовательского интерфейса (не называя его никак, но показывая его на картинках), мыши, коврика для мыши, клавиатуры и чуть ли не алфавита. Я чуть-чуть преувеличиваю.
Мы не будем искать легких путей. Теория цветности разработана в эпоху Возрождения, но не факт что за тысячу лет до этого какой-нибудь умный грек не сделал это первым, просто его труды до нас не дошли, растаяв в эпоху всепобеждающего мракобесия.
У истоков теории - Леонардо Да Винчи, Исаак Ньютон, Вольфганг Гете и многие другие. Цвет - это одна из тайн природы, самая яркая и разноцветная.
В цветном телевидении цвет каждой точки экрана передавался в виде трех компонент, красной, зеленой и синей - меняя интенсивность этих компонент можно было передать любой из цветов видимой части спектра. Объем передаваемых данных при этом был в три раза больше, но уровень техники середины 20-го века успешно справлялся с возросшей нагрузкой.
В конце 70-х у цветности появился требовательный и обеспеченный клиент, желающий заменить опасные и дорогостоящие трюки в игровом кино виртуальными. Многое из того, что этому клиенту хотелось видеть на экране, в физическом мире или встало бы в центик (дело было в США, не в копеечку же вставать делу), или вообще было бы невозможно.
И... NYIT, Lucasfim, Pixar... В Pixar даже принял какое-то участие Стив Джобс.
От инженеров потребовали чуда, и они его сотворили. Физическим миром правят законы физики. В виртуальном - полное беззаконие, произвол. Нет никаких проблем создать что угодно, невероятное и непонятное. Но по-настоящему интересно скопировать из реального мира достоверное и понятное, и дополнить его тем, что невозможно.
Оживить динозавров и заставить их гулять по офису, круша офисную мебель и пробуя сотрудников на вкус. Зрелище!
Пока художники и кинематографисты отображали реальный мир, проблем не было. Все композиции цвета, в любой точке, с феноменальной точностью, выполняла природа.
Когда потребовалось применить эту точность к виртуальным мирам, оказалось что все не так просто.
В конце 70-х Элви Рэй Смит (через несколько лет - один из основателей Pixar), наверное первым в мире, пришел к выводу о необходимости еще одного компонента, задающего прозрачность точки. В 1984 году, сотрудники группы компьютерной графики Luxasfilm, Томас Даф и Том Портер, подвели итог многолетней работе над предметом, опубликовав фундаментальный труд "Compositing Digital Images", создав алгебру композиций цифровой графики. Это основа современной компьютерной графики.
Отныне информация о цвете точки состояла из четырех компонент, или каналов: красный-зеленый-синий и альфа. Альфа-канал называют "прозрачностью", но на самом деле все наоборот. Это "непрозрачность". Нулевое значение этого параметра обозначает полную прозрачность, точка с таким значением альфы вообще не видна. И наоборот.
NeXT, впервые в мире, применила новейшие достижения компьютерной графики в железе компьютеров универсального назначения и в их операционной системе.
До этого, цвет в персональных компьютерах, по техническим причинам, представляли кто как мог - очень изобретательно и страшно неудобно - и с этим надо было кончать. В конце 80-х уже появилась возможность работать с графикой "по науке".
В 1990/1991 NeXT Computer внедрила два формата представления цветности пикселя, 16-битный и 32-битный.
В 16-битном цвете на каждый из каналов R, G, B и A, отводилось по 4 бита. 4096 цветов. В 32-битном на каждый канал выделяли по 8 бит, это те самые 16,7 миллионов цветов, столь полюбившееся рекламщикам и маркетологам значение.
Кроме этих двух цветов, появился еще один, незамеченный на фоне своих разноцветных коллег - градации серого с прозрачностью. Алгебра композиций работала и для него.
MegaPixel Color Display
Цветной собрат MegaPixel 17", внешне очень на него похожий, был способен отображать до 16,7 миллионов цветов. Разработан компанией NeXT, предположительно в 1987-1991 годах. Если при этом NeXT и сотрудничала с кем-то (скорее да, чем нет), информации об этом найти не удалось.
Разрешение - те же 1120х832. Те же 17 дюймов (43,18 см) по диагонали, те же 92 точки на дюйм. Он был почти в два раза тяжелее "серого" собрата, но в конструкции NeXTstation, компьютеров в форм-факторе "плита", или "коробка из-под пиццы", его вес был учтен.
В "сером" собрате все разъемы для работы с аудио были вынесены на дисплей, а кабель соединявший MegaPixel с компьютером назывался "пуповиной", скрывая под оболочкой силовой провод, кабели для передачи звука, кабель для передачи информации от мыши и клавиатуры. В результате, "серый" MegaPixel был неотъемлемой частью конфигурации, и поставлялся в комплекте с любой машиной от NeXT.
У цветного MegaPixel был отдельный силовой провод, а все что не было связано с видео, было вынесено в SoundBox, небольшую коробочку фирменного черного цвета. По словам Стива Джобса, для того чтобы можно было использовать дисплеи других производителей.
Возможно, были и технические причины (цветные электронно-лучевые трубки потребляли на порядок больше энергии, чем черно-белые), но об этом разработчики умолчали. Может, это и в самом деле чисто политический (маркетинговый) шаг.
Позднее появились варианты MegaPixel Color Display с большей диагональю (до 21 дюйма), с теми же 92 точками на дюйм. Было бы интересно заглянуть в альтернативный мир, где эта линейка дисплеев продолжила эволюцию - у инженеров NeXT был особенный стиль, свой собственный, у них был шанс стать лучшими, или одними из лучших - но в нашей реальности это направление "умерло" в 1993 году.
Далеко не всегда выживают лучшие. Выживают те, кому повезло.
NeXTstation Color
Эта модель была первым цветным компьютером от NeXT, поступившим в продажи. Точная дата неизвестна, в разных источниках называются разные, но в июне 1991 они уже были в руках обычных пользователей. Скорее всего, продажи начались в конце весны.
Внешне, NeXTstation Color похожа на простую (бесцветную) NeXTstation. Похожи они и по техническим данным, но это совершенно разные модели.
В базовом комплекте NeXTstation Color - 12 мегабайт оперативной памяти, вместо 8 у "бесцветной" NeXTstation, и чипы для нее в цветной станции используются другие, с 72 "ножками" вместо 36. Обычные для эффективной работы с цветом не подходили (не из-за числа ножек, конечно).
Видеоконтроллер для работы с 16-битным цветом - важный элемент конфигурации, его усилиями на MegaPixel Color Display выводятся 4096 цветов. Но не только.
Благодаря размыванию (dithering) кажется, что цветов намного больше. За этот эффект отвечает видеоконтроллер NeXTstation Color. Кто-то решил, что раз уж в комплект станции включается дисплей, способный отображать до 16,7 миллионов цветов, дискредитировать его тупым отображением того, что есть, было бы политически неверно.
Изобрели "размывание" не на NeXT. Эффект применялся на графических рабочих станциях с середины 80-х, а открыт он был в годы Второй мировой войны.
Суть эффекта в смешивании сигнала (любой природы) с псевдослучайным шумом, чаще всего для этого используется "белый шум". Используется в аудио, видео и графике.
Открыт он был случайно, и до 1945 года информация о нем была совершенно секретной. В прицелах для бомбометания применяли сложные механические "компьютеры", в которых вычисления осуществлялись сотнями, а то и тысячами прецизионных "зубчатых колес".
Быстро выяснилось, что эти механизмы в воздухе работали лучше и точнее, чем на земле. Причину тоже обнаружили довольно быстро, и подтвердили экспериментально: вибрация от двигателей создавала "шум", из-за чего механизм работал более плавно, без рывков.
В NeXTstation Color, по сравнению с обычной NeXTstation, было слишком много отличий. Из-за этих отличий "цветная" станция, работая с 16-битным цветом, по производительности не уступала "серой".
Побочный эффект: "серую" NeXTstation превратить в NeXTstation Color было абсолютно невозможно. Как и ожидалось, несмотря на предупреждения и предостережения, сотни пользователей обращались в службу технической поддержки NeXT Computer за помощью в апгрейде.
И еще один побочный эффект: в конфигурации с жестким диском в 105 мегабайт, стоила NeXTstation Color 7 995 долларов. Бесцветная станция стоила 4 995.
В продолжении - NeXTdimension, NeXTcube Color и бескомпромиссный 32-битный цвет на обычных "персональных рабочих станциях".