I am in the (pre)process of making a 3D engine/framework to fool around in. This is mainly a learning thing for me at the moment, but I do want to keep an eye on the future. Most likely this thread will be more of a "rubber ducking" thing rather than a "Help me choose" thread, but I value good argumented opinions.
Now one of the bigger choices I am facing is whether to use OpenGL or DirectX, but I am not entirely sure which one would be the best pick with the future in mind together with learning new stuff.
The thing is. I made a couple of 3D frameworks for smaller assignments and I used ("modern") OpenGL for that, giving me an advantage over the fact that I already know a good deal about it, but in terms of using the graphics API in itself, there is less to learn in contrast to DirectX, which I only really was able to scratch the surface of in the past with D3D9.
One of the things that I am wondering about however is the future of both of these APIs.
From sources I am not sure I am allowed to mention, I heard that NVidia is experimenting with ditching the graphics APIs as a whole and instead lets us program the graphics card directly. I am also not sure how valid this is, it can also be something misinterpreted.
I also noticed that some companies (like valve) started switching to OpenGL for the sake of multiplatform compatibility and I don't really see DirectX going multiplatform anytime soon (if ever).
Also with the exception of the xbox consoles, I think most of the consoles use OpenGL or something more similar to OpenGL.
What do you think the future has in store for us? I did google a bit, but I can't really find any nice articles of the direction of graphics APIs for the (near) future.
What would you choose to do if you are chasing a career in graphics programming? Expand your knowledge to a broader spectrum, or go more in depth with what you already know?