Пожалуйста имейте ввиду, что этот пользователь забанен
C++ -так как там ООП, которая при правильном применении значительно ускоряет разработку и упрощает понимание всей архитектуры в целом. C# сложнее в понимании, там не прокатят очевидные вещи что есть в СИ и C++, как будто он сыроват + скорость выполнения чуть ниже, но зато есть куча всяких готовых решений, которых легко применять.
На том у которого есть путёвый SDK для 3D. Сам язык не при чем. В самом языке нет никакого 3Д. 3Д реализуется сторонним кодом, а вот он чаще всего написан вплоть до ассемблера. Впрочем если вы хотите все сделать сам, то начните с Direct3D. Но он не полностью поддерживает управляемый код.