Nenhum é melhor que o outro. Direct3D, OpenGL, são APIs (Application programming interface).
Esta pequena explicação, que farei, foi tirada do site do Laercio Vasconselos (www.laercio.com.br).
"As primeiras placas 3D tinham um sério problema: falta de uma interface de software padrão. Quando comprávamos uma placa 3D, eram fornecidos alguns programas configurados especificamente para utilizar os recursos desta placa. Eram programas que não funcionavam com outros modelos de placas 3D, placas estas que não eram compatíveis com outros programas 3D. Não existia portanto uma “linguagem” comum entre os programas e as placas, assim o seu uso era muito restrito. Na medida do possível, os fabricantes de placas 3D ajudavam os produtores de software a adaptarem seus programas às suas placas, mas era uma tarefa bastante complexa. Um grande destaque teve a 3DFx, fabricante de chips gráficos de alto desempenho. Criaram um padrão chamado Glide, um conjunto de funções através das quais os programas poderiam ter acesso às funções das suas placas de vídeo. Este tipo de padrão de acesso é o que chamamos de API (Application programming interface). Vários produtores de programas gráficos, sobretudo de jogos, produziram softwares utilizando o Glide, sendo assim as placas equipadas com chips 3DFx fizeram muito sucesso.
Atualmente existem, além da Glide, duas outras APIs bastante difundidas: a Direct3D e a OpenGL. A Direct3D faz parte do pacote DirectX, da Microsoft, e é mais utilizada para jogos. A OpenGL é uma API mais utilizada por programas 3D profissionais, mas recentemente tem sido também muito utilizada também por jogos."
Desculpem pelo tamanho, mas é facinho de entender. :)
Mais informações no site do Laercio.