
WebGL не совсем игровой движок, это скорее API – набор заранее написанных методов, которые можно вызвать, чтобы они отрисовали фигуры по введённым тобой параметрам.
В основе своей WebGL имеет два шейдера – вершинный шейдер и фрагментный шейдер, представляющие собой пару функций, которые рисуют треугольники, линии и точки на основе написанного кода.
Первая функция – вершинный шейдер – вычисляет позиции вершин. Основываясь на указанных позициях вершин, WebGL может растеризировать (т. е. сделать теми пикселями графики, что мы привыкли видеть) разные виды примитивов – точки, линии или треугольники. При растеризации вызывается вторая функция – фрагментный шейдер, которая вычисляет цвета для каждого пикселя, отрисовываемого в данный момент примитива.
Важный момент – работа с WebGL очень напоминает работу веб-разработчика, создающего просто сайт: пишется код на JavaScript, пишется HTML и CSS, а затем запускается в любом браузере, и он работает везде одинаково.
Плюсы от работы с этим движком:
- Ты будешь писать код на JavaScript — очень простом для начинающих разработчиков языке программирования.
- Твой проект сразу будет работать на всех платформах, потому что WebGL поддерживается всеми современными браузерами.
Вот так выглядит код для отрисовки простого прямоугольника:


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

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

Какие игры были разработаны с помощью WebGL?
Практически все игры довольно простые. Вот несколько скриншотов из разных игр на основе этого движка:



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