Программист создает 3D-графику и физический движок с нуля

Программист-самоучка Алекс Фиш опубликовал демонстрацию 3D-графического и физического движка, который он создал полностью с нуля и работающего на графическом процессоре, который он собрал из базовых деталей. Сам графический процессор

Thumbnail: Графический процессорГрафический процессор (англ. graphics processing unit, GPU) — отдельное устройство персонального компьютера или игровой приставки, выполняющее графический рендеринг; в начале 2000-х годов графические процессоры стали массово применяться и в других устройствах: планшетные компьютеры, встраиваемые системы, цифровые телевизоры. Современные графические процессоры очень эффективно обрабатывают и отображают компьютерную графику, благодаря специализированной конвейерной архитектуре они намного эффективнее в обработке графической информации, чем типичный центральный процессор. Графический процессор в современных видеокартах (видеоадаптерах) применяется в качестве ускорителя трёхмерной графики. Википедия

имеет встроенный экран с джойстиками для управления экранной графикой.
Эта история очень похожа на самодельный FuryGPU , о котором мы рассказывали неделю назад. Но этот самодельный графический процессор от Алекса Фиша ориентирован на программную часть разработки графического процессора, а не только на аппаратное обеспечение графического процессора.

Само оборудование состоит из различных готовых деталей, которые вы можете купить самостоятельно. Детали состоят из 1,91-дюймового дисплея AMOLED с прикрепленным к нему беспроводным модулем макетной платы, джойстиков SparkFun и коммутационной платы SparkFun Qwiic Mux.

Хотя аппаратное обеспечение не является полностью индивидуальным, 3D-движок Алекса, используемый в самодельном графическом процессоре, является таковым. Программист создал движки 3D-графики и физики (названные движком ESPescado) полностью с нуля, используя C++ и OpenGL. Даже библиотеки векторной и матричной математики были написаны с нуля. Физика и геометрия визуализируются в 3D

3D (3-D) (от англ. 3-dimensional) — англицизм. Может означать: Что-либо, имеющее три измерения, см. размерность пространства; Трёхмерное пространство; Трёхмерная графика; Объёмный звук («3D-звук»); 3D-шутер; 3D-сканер; 3D-принтер.Также термин «3D» применяется к технологиям, использующим эффект стереоскопии: Стереокинематограф Стереодисплей Трёхмерное телевидение Стереоскопический фотоаппарат 3D-очкиКомпании: 3D Realms The 3DO CompanyВ компьютерной индустрии: 3DNow! Википедия

Читайте также:Продажи VR-шлемов вырастут в 10 раз к концу десятилетияПродажи VR-шлема Vive могут помочь HTC оправиться от убытковВ ближайшие четыре года рынок 3D принтеров увеличится в три разаДля работы VR шлема DeePoon М2 не нужен компьютерOSSIC X: новый вид наушников с 3D звуком

, однако, чтобы изображения действительно выглядели 3D, движок использует матрицу перспективной проекции и деление перспективы, чтобы превратить 3D-объекты в 2D-изображения. Это основы 3D-графики.

Самодельный 3D-движок также использует преимущества сеток. Сетки состоят из точек и линий, которые группируются в треугольники, которые затем группируются в сетки. В терминологии видеоигр сетки составляют основу объектов и ландшафта, которые мы видим в игре, и именно это придает им фотореалистичные характеристики. Эти сетки помещаются в «мир» с помощью матрицы «модель-мир» (TRS). Система TRS может масштабировать, вращать и перемещать каждую видимую точку из локального пространства в мировое.

Алекс смог поделиться живой демонстрацией этого самодельного графического движка, работающего на его крошечном 1,91-дюймовом комплекте разработки графического процессора. Видео на YouTube показывает, как графический процессор отображает зеленый треугольный объект на черном фоне. С помощью двух джойстиков, которые он подключил к графическому процессору, он смог перемещать объект, как в видеоигре с видом от третьего лица.

Демо-версия сама по себе не является новаторской, но она доказывает, что движки 3D-графики ручной работы можно создавать с нуля. Если у Алекса есть связи с Диланом Барри — создателем FuryGPU — мы потенциально могли бы увидеть полноценную 3D-видеоигру, полностью работающую на самодельном оборудовании и программном обеспечении. Если вы хотите ознакомиться с 3D-движком Алекса, он создал пару страниц на GitHub с подробной информацией о 3D-движке, а также об оборудовании, которое он использовал для его запуска.

Подписаться на обновления Новости / Технологии
Зарегистрируйтесь на сайте, чтобы отключить рекламу

ℹ️ Помощь от ИИ

В статье есть ошибки или у вас есть вопрос? Попробуйте спросить нашего ИИ-помощника в комментариях и он постарается помочь!

⚠️ Важно:

• AI Rutab читает ваши комментарии и готов вам помочь.
• Просто задайте вопрос 👍
• AI Rutab может ошибаться!
• К ИИ-помощнику можно обратиться по имени Rutab или Рутаб.

Топ дня 🌶️


0 комментариев

Оставить комментарий