Мне нужно добавить все шесть граней куба в вершинный буфер. На этом скриншоте грани добавляются с помощью функции plane_add . В неё передаются вершинный буфер, четыре точки, описывающие грань, и цвет грани. Для наглядности сделаю грани разного цвета. В строках 21–26 добавляются грани в следующем порядке: передняя (A, B, C, D), правая (D, C, G, H), задняя (H, G, F, E), левая (E, F, B, A), верхняя (B, F, G, C), нижняя (E, A, D, H). Вершины каждой грани добавляются в порядке: левая нижняя, левая верхняя, правая верхняя, правая нижняя. Можно свериться со схемой куба выше.
Это конечно все круто, и я сам люблю шейдеры в гмс, но я никому не советую лезть в 3D там. У GMS не полноценный шейдер, который значительно проигрывает в перформансе в сравнении с другими движками. Во вторых, многие функции отсутствуют вообще и писать их ручками очень нерентабельно.
Для самообразования статья норм.
Знания, как работают вершинные буферы, и т.п. довольно полезны и вне контекста 3D в GMS