Hello all!
I'm a somewhat capable programmer in general, currently taking some time off school for personal reasons. In the meantime, I've been reading books on more generalized software development concepts, and working on a few tiny projects for various things. While I'd have loved to get an internship in the industry, my current situation prevents that.
I've been interested in games for a while, and am interested in different aspects of developing them. Most recently, I've been wanting to dive into the world of graphics, and have done a minimal amount of research so far. I have one major concern before I start learning, and it's related to the new Vulkan and DX12 APIs. I've noted from various sources that the way of doing things is going to be changing, and that, at least for Vulkan, it should be public by the end of 2015.
My concern is that I would start diving into one of the APIs that are out now, DX11 or OGL4+, and would be harmed by learning about how things are currently accomplished.
Doing the math isn't a concern on my end, I'm fairly familiar with a lot of calculus, algebra, and geometry. From my understanding, matrices, and to a lesser extent, quaternions, are a major staple of 3D graphics.
My question is this: In order to ensure that I'm learning the more "correct" way of doing things, where should I be starting? Is just getting in and doing something in the current APIs the best way to go? I'm not sure where to start. Conceptually, I would think that many things will carry over well (VBOs, etc). However, implementations, and architectures, seem like they'll be changing drastically.
Please do note that I'm wanting to learn how to develop directly in the APIs, and not wanting to learn about different engine's ways of handling it or anything like that.