i seriously need help ,
the goal :
1) expert game programmer and developer 2d 3d .
2) write my own game engine (not necessarily in the near future)
what i have :
i'm a student at a computer since faculty so i know :
1) c++,java,c - real good
2) algorithms , graphs , data structures .....
2) oop (object oriented programming)
3) OS (linux kernel)
4) maths (physics math , algebra and differential math)
i know opengl ES 2d i have developed a 2d game for android ,
so i know the basic concept of game programming .
my question are :
1) where to start , i mean if you can really answer this professionally i'll be thankful ,
advise me some books and please let it be the kind of books that doesn't say we'll use this flag and this parameter
but the kind of books that explain why , explain all the parameters where do they come from and how they are calculated ....(detailed stuff for experts) ??
2) i took a look at the "table of content " of the gems book series (game programming gems game engine gems graphics gems and GPU gems ) and i have to say i laaaaughed ... i was quite shocked of the amount of information one needs to know.
i want to know if i really need to know that stuff ??? and how the hardware are related to game programming , i mean why do you need to do different version of code to match different hardwares ???
If you are going to be a professional, there is the book Real-time rendering. It is not about OpenGL specifically, it is the basic 3D theories. Reading this book will make it easier to understand specific algorithms.
An important thing I think needs to be said is that you're not necessarily programming different versions of your renderer code specific to different GPU hardware manufacturers if you're writing OpenGL or DirectX code. The practice of writing as close to the metal as possible to achieve good results has kind of gone to the wayside for PC game development since the days of GLQuake and is more or less delegated almost entirely to fixed platforms such as game consoles. That's not to say you couldn't just go ahead and write different versions of your code for say, the GeForce 600 series, the 500 series, and then a version specific to the Radeon 6xxx series, but it will probably end up being more frustrating and more effort than it's worth than to just write for OpenGL or DirectX.
What's ultimately happening is that you're calling to OpenGL, which then interacts with your video card drivers, which then finally interacts with your graphics card.
Really, I think the most important choice you're going to end up making as far as target hardware is concerned is whether or not to write in OGL or DirectX if it's for a PC game.
Edited by darkhaven3, 15 December 2012 - 04:40 AM.