OpenGL, DirectX - это готовые системы для обсчёта 3D графики. Вам потребуется либо создать собственный движок, либо использовать готовый. Вот, например, что по поводу готовых решений думает google:
https://godotengine.orgЕсли дело именно в самостоятельном проектировании движка, то сперва необходимо правильно поставить задачу: какого качества необходимо добиться?
А теперь немного по самому методу:
1) Каждый пиксель экрана является не просто лучом нулевой толщины, а вершиной усечённой пирамиды с квадратным основанием. Поэтому, его цвет формируется всеми объектами, которые он способен охватить, для этого этот луч необходимо разделять.
2) Для образования теней и отражений необходимо будет из каждой точки пересечения сканирующего луча проводить дополнительные лучи: нормальные и направленные на объекты освещения.
После правильной постановки задачи можно будет перейти к реализации: сперва составить перечень объектов, подумать как их хранить, какие модули их будут обрабатывать. Затем переходить к математике обсчёта.