Найти в Дзене
DigiNews

Разработчик создал демо-версию 3D-шейдера в реальном времени для Game Boy Color

Умный разработчик заставил Game Boy Color работать в режиме интерактивной 3D-демонстрации шейдеров в реальном времени. Дэнни Спенсер поделился видео, записью в блоге, ROM-файлами и исходным кодом. — tomshardware.com Умный разработчик сумел заставить Game Boy Color (GBC) работать в режиме интерактивной, управляемой пользователем 3D-демонстрации шейдеров в реальном времени. Дэнни Спенсер поделился видео, записью в блоге, загружаемыми ROM-файлами, исходным кодом и даже встроил демо в онлайн-эмулятор GBC, так что любой желающий может опробовать его 3D-чайник с ламбертовским затенением. Всегда увлекательно наблюдать, как разработчики выжимают последний бит производительности из доступного оборудования. Так что видеть эту интерактивную вращающуюся демо-версию чайника для GBC — это очень круто. Более того, Спенсер раскрывает все подробности этого достижения. Запуск этого шейдера в реальном времени на GBC не был бы большим достижением, если бы портативная консоль имела мощный процессор. Однако

Умный разработчик заставил Game Boy Color работать в режиме интерактивной 3D-демонстрации шейдеров в реальном времени. Дэнни Спенсер поделился видео, записью в блоге, ROM-файлами и исходным кодом. — tomshardware.com

Умный разработчик сумел заставить Game Boy Color (GBC) работать в режиме интерактивной, управляемой пользователем 3D-демонстрации шейдеров в реальном времени. Дэнни Спенсер поделился видео, записью в блоге, загружаемыми ROM-файлами, исходным кодом и даже встроил демо в онлайн-эмулятор GBC, так что любой желающий может опробовать его 3D-чайник с ламбертовским затенением. Всегда увлекательно наблюдать, как разработчики выжимают последний бит производительности из доступного оборудования. Так что видеть эту интерактивную вращающуюся демо-версию чайника для GBC — это очень круто. Более того, Спенсер раскрывает все подробности этого достижения. Запуск этого шейдера в реальном времени на GBC не был бы большим достижением, если бы портативная консоль имела мощный процессор. Однако второй портативный игровой прибор от Nintendo был далеко не самым мощным. Он сохранил SoC Sharp SM83, использовавшийся в оригинальном Game Boy, но разогнал его до «двухскоростного режима» чуть более 8 МГц. Этот режим переключения чипа с одной на две скорости был отличным решением для обратной совместимости. Хотя дополнительная скорость полезна для этой 3D-демонстрации в реальном времени, вычислительной мощности GBC все равно остро не хватает для запуска интерактивного шейдера. Например, Спенсер посвящает значительную часть своего блога объяснению того, как недостаток инструкции умножения в SM83 был ловко обойден с помощью логарифмов и таблиц поиска. Чтобы снизить вычислительную нагрузку, разработчик преобразовал векторы в сферические координаты. Затем ламбертовский шейдер реализован с использованием сферического скалярного произведения. Гораздо больше подробностей о программировании, математике и рендеринге доступно в связанной записи в блоге. Спенсер выложил код gbshader и связанные с ним ресурсы на GitHub. Там же вы найдете ссылки для загрузки релизов GBC ROM для этой интерактивной 3D-демонстрации шейдеров. Большинству читателей будет удобнее всего запустить демо-версию шейдера внутри встроенного эмулятора через запись в блоге. Здесь вы можете использовать клавиши со стрелками для регулировки положения источника света, а также изменять угол обзора чайника. На моей клавиатуре я мог одновременно настраивать оба параметра для управления анимацией и освещением.

Всегда имейте в виду, что редакции могут придерживаться предвзятых взглядов в освещении новостей.

Автор – Mark Tyson

Оригинал статьи