Вот очень хороший тутор по данной теме. Т.к. судя по посту вы и OpenGL не знаете.
Но вообще, без знания и опыта работы с нормальными 3D движками, браться за написание своего - это как собирать свой компьютер (покупать smd компоненты, плату, травить ее, паять все это дело и т.д.), муторно и абсолютно бестолково.
P.S. возьмите С++ и SFML и попробуйте накидай свой 2D движок. Это в разы проще и опыт какой-никакой появится. А перед тем как писать непосредственно 3D-движок, посмотрите что такое Unity и с чем его едят. На гитхабе есть самописные 3D движки, их код не мешало бы вам тоже посмотреть. А потом только браться за свой.