Có lẽ là câu trả lời dễ nhất: Đừng bận tâm, thay vào đó hãy chọn những gì phù hợp nhất với bạn để làm việc với bây giờ (tức là bất cứ điều gì bạn thành thạo hơn.
Nếu bạn nghĩ rằng bạn nên viết một công cụ có tính di động ("tạo trò chơi, không phải động cơ!"), Hãy tạo một lớp trừu tượng kết xuất, để bạn có thể cắm bất kỳ đầu cuối nào bạn cần.
Mặc dù hầu hết các hệ thống máy tính để bàn đều hiểu / có OpenGL, bạn sẽ cần OpenGL ES cho hầu hết các nền tảng di động. Vì vậy, đây sẽ chỉ là một bước bổ sung nhỏ để thêm DirectX.
Theo tôi biết, chi tiết cụ thể hơn thực sự rất khó để có được, vì hầu hết các chi tiết cụ thể được ẩn đằng sau NDA và những thứ tương tự (vì bất kỳ lý do gì).
Người ta biết khá nhiều rằng Microsoft ủng hộ (và chỉ hỗ trợ?) DirectX, trong khi tôi nghĩ Sony cung cấp hỗ trợ cho OpenGL (mặc dù tôi không chắc về mức độ / phiên bản tính năng). Vì cả hai đều yêu cầu giấy phép nhà phát triển, tôi đoán bây giờ họ không còn nghi ngờ gì nữa.
Không có ý tưởng về Nintendo, có thể là OpenGL hoặc một số công cụ độc quyền? Dù sao họ cũng muốn bạn ký hợp đồng.
Nhiều máy chơi game (vi mô) khác (như Ouya, FireTV của Amazon, v.v.) sử dụng Android và như vậy hỗ trợ OpenGL ES 1.1 cũng như OpenGL ES 2.0.
PC Windows thường cung cấp DirectX cũng như OpenGL, OpenGL ES được hỗ trợ gián tiếp thông qua các trình bao bọc (như dự án ANGLE của Google ).
Các hệ thống dựa trên Linux và Mac thường cung cấp OpenGL và OpenGL ES. Wrappers cho DirectX tồn tại, mặc dù tôi khá chắc chắn rằng đây thực sự chỉ dành riêng cho việc mô phỏng. Không thấy bất kỳ được sử dụng ở nơi khác.
Thật không may, như bạn có thể thấy, không có giải pháp "một giao diện nào phù hợp với tất cả".
Nếu bạn muốn giới hạn bản thân trong một giao diện ngay bây giờ (mà bạn chắc chắn nên IMO), hãy đi với OpenGL (hiện đại). Nó cho phép bạn sử dụng đa nền tảng dễ nhất / lớn nhất ngay bây giờ và cũng giúp việc gỡ lỗi khá dễ dàng. Với một số điều chỉnh (để sử dụng OpenGL ES thay vì OpenGL), mã này cũng sẽ chạy trên hầu hết các điện thoại và bảng điều khiển vi mô.
Nếu bạn thích lập trình trong Windows với Microsoft Visual Studio, DirectX có thể là một tùy chọn cho tích hợp Visual Studio (trình gỡ lỗi đồ họa, v.v.). Chỉ cần lưu ý rằng điều này sẽ không hoạt động ở bất cứ nơi nào khác (ngoại trừ XBox, dù sao cũng cần có giấy phép nhà phát triển).