Обзор WebGL
 
WebGL - это технология, которая позволяет рисовать, отображать и взаимодействовать с трехмерной компьютерной графикой из веб-браузеров. В основе WebGL 2 лежит OpenGL ES 3.0. WebGL состоит из двух частей: описание WebGL API и описание шейдерного языка WebGL API. WebGL является кроссплатформенной библиотекой и позволяет запускать приложения не только на стационарных компьютерат, но и на смартфонах и планшетах. Также одной из ключевых особенностей WebGL является то, что программу написанную на WebGL не надо компилировать. WebGL рисует в несколько стадий. Первая стадия это вершинный шейдер. Здесь на вход подаются атрибуты вершины, исходный код шейдера и uniform-переменные, а на выход подаются изменённые вершины. Вторая стадия это Сборка примитивов. Во время сборки примитива определяется лежит ли примитив в области видимости. Если примитив полностью или его часть лежит вне области видимости, то выполняется отсечение. Следующая стадия - это стадия растеризации. Растеризация - это процесс, который переводит примитивы в набор двухмерных фрагментов. На следующей стадии фрагментный шейдер обрабатывает каждый фрагмент.