I've been teaching myself c++ for several months and later on will move to broader topics such as APIs and libraries like OpenGL and DirectX because I want to become a game programmer or designer someday and because I don't have c++ classes at school. I've heard many people say that I have to learn some fields of math but I don't know what field/s do I really need to learn. In my college, I have a discrete mathematics class but I'm not sure if it's a gold in game development. I'm pretty good at math so I suppose I will not be having so much stress learning it so if you guys know what math should i learn and in what they are used for and why they're useful then please tell me.
Also, if you could recommend some good books then I would highly appreciate it.