15.08.2022
Игровой движок WebGL

WebGL не совсем игровой движок, это скорее API – набор заранее написанных методов, которые можно вызвать, чтобы они отрисовали фигуры по введённым тобой параметрам.

В основе своей WebGL имеет два шейдера – вершинный шейдер и фрагментный шейдер, представляющие собой пару функций, которые рисуют треугольники, линии и точки на основе написанного кода.

Первая функция – вершинный шейдер – вычисляет позиции вершин. Основываясь на указанных позициях вершин, WebGL может растеризировать (т. е. сделать теми пикселями графики, что мы привыкли видеть) разные виды примитивов – точки, линии или треугольники. При растеризации вызывается вторая функция – фрагментный шейдер, которая вычисляет цвета для каждого пикселя, отрисовываемого в данный момент примитива.

Важный момент – работа с WebGL очень напоминает работу веб-разработчика, создающего просто сайт: пишется код на JavaScript, пишется HTML и CSS, а затем запускается в любом браузере, и он работает везде одинаково.

Плюсы от работы с этим движком:

  • Ты будешь писать код на JavaScript — очень простом для начинающих разработчиков языке программирования.
  • Твой проект сразу будет работать на всех платформах, потому что WebGL поддерживается всеми современными браузерами.

Вот так выглядит код для отрисовки простого прямоугольника:

Прямоугольник, полученный с помощью данного кода.

А можно отрисовать очень много прямоугольников случайного размера и цвета, и тогда получится нечто вроде этого:

Также можно сделать полноценные 3D-фигуры:

Какие игры были разработаны с помощью WebGL?

Практически все игры довольно простые. Вот несколько скриншотов из разных игр на основе этого движка:

MIU MIU
Car racing game
Gucci Mascara Hunt

Так мы разобрались, как создаются игровые миры, с чего начинается эта работа и что интересного в ней можно сделать, какие инструменты для разработки есть возможность использовать, и, даже учась в школе, имея базовые знания, уже можно попробовать создать собственные полноценные игры.