Майкл Абраш — американский программист и технический писатель . Он написал десятки журнальных статей и несколько книг по оптимизации кода и программной визуализации графики для совместимых с IBM PC . В середине 1990-х годов он работал в id Software над технологией рендеринга для Quake . Позже он написал программный рендерер Pixomatic для RAD Game Tools. С 2014 года он является главным научным сотрудником Oculus VR , дочерней компании Meta Platforms . [2]
Абраш начал свою карьеру в 1982 году с написания видеоигр для IBM PC, что в конечном итоге привело к выходу в 1990 году книги Zen of Assembly Language Volume 1: Knowledge об оптимизации для 16-битных процессоров 8086 и 8088. [3] Он начал писать о программировании оборудования EGA и VGA совместимых с IBM PC для Programmer's Journal в конце 1980-х, за которым последовала колонка для Dr. Dobb's Journal в начале 1990-х. В последнем он представил метод настройки режима VGA 13h для разрешения 320×240 с квадратными пикселями, который он назвал Mode X. Он также использовал свою колонку Dr. Dobbs's, чтобы писать о деталях своей работы над Quake.
Абраш начал писать видеоигры в ранние дни IBM PC и цветного графического адаптера . Его первой коммерческой игрой был клон Space Invaders, опубликованный Datamost в 1982 году под названием Space Strike . [4] За ним последовали Cosmic Crusader (1982) и Big Top (1983), обе изданные Funtastic. Работая с Дэном Илловски, который ранее программировал клон Apple II Pac -Man Snack Attack , он написал Snack Attack II (1982) для IBM PC. [5] Все его игры для IBM PC были написаны на языке ассемблера 8086 .
После работы в Microsoft над графикой и ассемблерным кодом для Windows NT 3.1 , в середине 1990-х годов он был нанят id Software для работы над Quake . Часть технологий, лежащих в основе Quake , задокументирована в книге Абраша Ramblings in Realtime, опубликованной в журнале Dr. Dobb's Journal . [6] Он упоминает Quake как свою любимую игру всех времен. [7] После выхода Quake Абраш вернулся в Microsoft, чтобы заняться исследованием естественного языка, а затем перешел в команду Xbox до 2001 года. [8]
В 2002 году Абраш перешёл в RAD Game Tools, где стал соавтором программного рендерера Pixomatic , который эмулирует функциональность видеокарты уровня DirectX 7. В конце 2005 года Pixomatic была приобретена Intel . При разработке Pixomatic он и Майк Сартейн разработали новую архитектуру под названием Larrabee , которая теперь является частью проекта Intel GPGPU . [9]
Гейб Ньюэлл , управляющий директор Valve , сказал, что он «пытался нанять Майкла Абраша целую вечность. [...] Примерно раз в квартал мы идем на ужин, и я говорю: «Вы уже готовы здесь работать? » » [10] В 2011 году Абраш присоединился к Valve. [11]
28 марта 2014 года, через три дня после того, как Facebook объявила о соглашениях о покупке компании, производящей очки виртуальной реальности , [12] Oculus VR опубликовала заявление о том, что Майкл Абраш присоединился к их компании в качестве главного научного сотрудника . [2] Это воссоединило его с Джоном Кармаком из id Software , который в то время был там главным техническим директором .
Майкл Абраш был обозревателем в 1980-х годах для журнала Programmer's Journal . Статьи были собраны в книге 1989 года Power Graphics Programming . Его вторая книга, Zen of Assembly Language Volume 1: Knowledge (1990), [13] посвящена написанию эффективного ассемблерного кода для 16-разрядного процессора 8086, но была выпущена после того, как ЦП 80486 уже использовался в IBM PC-совместимых компьютерах. [14] Том 2 так и не был опубликован.
В начале-середине 1990-х годов Абраш написал колонку о графическом программировании для IBM PC-совместимых компьютеров для журнала Dr. Dobb's Journal под названием «Ramblings in Realtime». В 1991 году его колонка представила Mode X : 256-цветный графический режим 320x240 с квадратными пикселями вместо слегка вытянутых пикселей стандартного режима 320x200. В той же колонке описывается функция VGA, позволяющая записывать до четырех пикселей одновременно — то, что не было широко документировано за пределами спецификации VGA. Статья и ее последующие статьи вызвали интерес среди программистов игр для MS-DOS. «Ramblings in Realtime» также охватывала рисование полигонов, трехмерную графику и наложение текстур.
Большая часть содержания Zen of Assembly Language была обновлена в Zen of Code Optimization: The Ultimate Guide to Writing Software That Pushes PCs to the Limit (1994), [15] В 1997 году была опубликована Abrash's Graphics Programming Black Book , [16] [17] . Это сборник статей журнала доктора Добба и его работы над графической подсистемой Quake .
Абраш прекратил писать публично в 2000-х годах, но с апреля 2012 года по январь 2014 года вел публичный блог на Valve под названием «Ramblings in Valve Time».