Например, куб состоит из 12 треугольников. Каждая сторона куба использует два треугольника.
Свойство drawMode класса Shape3D указывает, как визуализируется поверхность 3D-фигур.
С помощью константы LINE и метода setDrawMode можно отобразить только контур треугольников. То есть только линии, соединяющие вершины последовательных треугольников.
С помощью константы FRONT и метода setCullFace можно посмотреть на внутренние поверхности 3D-фигуры.
CullFace.FRONT указывает, что все треугольники, внешние стороны которых обращены к камере, должны быть отбракованы. Эта установка будет отображать все части фигуры, за исключением передней части.
Константа CullFace.NONE указывает, что не следует применять отбрасывание передней части. То есть все треугольники, составляющие форму, должны быть визуализированы.
По умолчанию, CullFace.BACK указывает, что все треугольники, которые не могут быть видны через камеру в ее текущем положении, должны быть отброшены. То есть все треугольники, внешние поверхности которых не обращены к камере, должны быть отброшены.
С помощью класса MeshView можно создавать пользовательские 3D фигуры.
Для создания пользовательской трехмерной формы нужно определить сетку полигонов.
Данные сетки полигонов представляет экземпляр абстрактного класса Mesh.
Класс TriangleMesh является конкретным подклассом класса Mesh.
TriangleMesh представляет собой трехмерную поверхность, состоящую из сетки треугольников.
Предоставление данных сетки вручную – это непростая задача.
Для этого нужно определить множество точек, которые являются вершинами сетки.
Описать координаты текстуры для каждой вершины.
Используя вершины, создайте поверхности, которые являются треугольниками, описывающими топологию.
Определить группу сглаживания, к которой принадлежит каждая поверхность.