Хотя с OpenGL легко начать и, как уже писали некоторые люди, получить треугольник для отображения на экране и оттуда перейти к текстурам, частицы и многое другое можно сделать в течение дня.
Однако я думаю, что хороший вопрос - какова ваша конечная цель?
Если это простая игра, без скелетной анимации и простого 3D - OpenGL, безусловно, ответ. Если вы стремитесь к более высокому уровню и не хотите тратить время на разработку всех технологий с нуля (или отправиться на поиски бесплатных библиотек и собирать все вместе), тогда DX - хороший выбор, я бы пошел на DX9c, пока не выйдет DX11.
Если вы не возражаете возиться с другими языками, кроме C ++, вам также следует взглянуть на среду разработки XNA - она стала достаточно зрелой и хорошей.
Точно так же хорошо использовать уже существующий движок, если вы знаете, что он даст вам большую часть того, что вам нужно, по правильной цене и сэкономит вам время на его разработку самостоятельно, основная проблема заключается в том, что вы Вам нужно будет пройтись по нескольким игровым движкам (Ogre, Game Studio, Torque и т. д.), а затем сделать свой выбор, основываясь на ограниченном опыте - прежде чем продолжить, прочитайте как можно больше отзывов от случайных разработчиков и попробуйте посмотрите на код, если вы собираетесь его изменить.
Надеюсь, это помогло.