Answer the question
In order to leave comments, you need to log in
Explain: what base do you need to have to learn Direct X [C++]?
The bottom line is that I, more or less, pulled up OOP (I have been studying for more than 8 months (although sometimes I fell out)) and now I think what to do next: learn Win32 or (I don’t know what). All clambered, I can not understand how Direct X is tied to WIN32. Also thought about Open GL.
Advise what to teach and maybe correct me, because I can think in the wrong direction!
Well my main aspiration is Game Dev.
Explain what's what!!!
Answer the question
In order to leave comments, you need to log in
You need knowledge of graphics . Understanding how it all works under the hood. Without all this, DirectX will seem like something cosmic and incomprehensible. DirectX has nothing to do with pure WinAPI. It is based on COM technology . This is harder to understand than WinAPI. Well and, accordingly, it all works only on Windows.
OpenGL is a little simpler, there is a pure C-ish API. You can write for many operating systems, including mobile platforms.
Both APIs use a state machine for rendering, all the states of which also need to be perfectly understood. In OpenGL, in my opinion, it is easier to understand.
But for all this, you need to know what is used there under the hood. Thoughtlessly looking for lines of code and copy-pasting them to yourself will not work. You need to know what each function does, what states the state machine changes, etc.
If you want to start learning the whole thing, I advise you to start with excellent articles on Habré. If you master this entire course, you will be able to write at least in OpenGL, even in DirectX, even in Unity / Unreal / CryEngine.
Definitely matan - matrices, operations on matrices, all sorts of matrix transformations, etc. This is for any 3D.
And so, strictly speaking, for DirectX you don't really need to know the Win32 API. (well, some minimum is needed, you also need to somehow draw a window with your scene).
In general, the choice of OpenGL vs DirectX is actually a choice between Windows + XBox or all (or many) platforms.
Specifically, DirectX is needed to understand all the stages of rendering and prepare for it. The same goes for OpenGL. Win32 is a purely boring thing, with which any normal engine takes care of anyway.
Start learning and working with any engine, such as CryEngine (fortunately, it was posted on Github). Take a simple example, study how it works, then slowly change it for yourself. So, gradually, you will gain understanding.
Didn't find what you were looking for?
Ask your questionAsk a Question
731 491 924 answers to any question