Точно так же как и в старых играх: математика - обычная геометрия и тригонометрия, а так же физика для динамики и анимации. Задаются точки в трехмерном координатном поле. Из точек формируются ребра (отрезки), из трех точек и ребер формируются полигоны. Из полигонов формируются объекты. А уже из групп объектов формируются сцены, уровни и прочие комплексные вещи. Обычная школьная математика. Сцена находится в трехмерном пространстве, а экран - это обычно двухмерная плоскость, то осуществляется проекция трехмерной сцены на двухмерную плоскость экрана. В отрисовке есть куча хитростей и множество различных механизмов и способов оптимизации. Для анимации объектов используются матрицы, которые описывают масштаб объекта по трём осям, его координаты и положение в пространстве - т.к. это проще, чем каждый раз для движения объекта переписывать все его точки. Сам процесс анимации тоже имеет свои нюансы и тут тоже используется много всяких оптимизаций, математики и физики.
Реализовать на низком уровне простейший движок достаточно просто: мануалов и инструментов в сети полно. Можно как полностью с нуля реализовать так и использовать API видео драйвера.
Полезная ссылка:
Build your own 3D Renderer