3 ms·
To be honest though, if you are just starting out and don't have experience on things like homogeneous coordinates, shaders, and the basics of real-time renderi
by cyber_kinetist 4y ago
To be honest though, if you are just starting out and don't have experience on things like homogeneous coordinates, shaders, and the basics of real-time rendering, just learn damn OpenGL. learnopengl.com is the titular "bible" site and you will learn most of the basic concepts there.
I really do not recommend DX11 / DX12 / Vulkan / WebGPU, just because of the fact that they don't have that much good learning resources compared to OpenGL. Even DX (though more widely used in the gaming industry) doesn't have that much material compared to OpenGL. People often point at RasterTek's tutorials (https://www.rastertek.com/tutindex.html https://www.rastertek.com/tutindex.html) for DX stuff, but the explanations are much more sparse compared to LearnOpenGL and they often just dump lines of code at you without any high-level explanation. And I especially do not recommend Vulkan (or DX12), because it's a hell of an unfriendly API that exposes too much of the underlying GPU hardware for the programmer to manage (especially with synchronization). Writing Vulkan in a naive way will probably give you less performance than what you will achieve with naive OpenGL / DX11. And using Vulkan in an optimal way isn't something that's explained in any Vulkan book or tutorial you can find online/offline: they generally teach how to do simple stuff (like drawing a triangle, which is essentially what learnvulkan.com does), but do not really teach you with the more important architectural decisions when writing a performant renderer (this I am currently struggling, and searching through blogs/papers/videos as much as possible).
- bullen 4y agoThis, OpenGL (ES) 3 is the one; VAO is the last feature!
- jalino23 4y agothis is super helpful! I'm a self taught web dev that wants to dive into 3d graphics programmer, but its super difficult to find material that doesnt assume a lot of pre req I have no idea about. its difficult to figure out what to even learn. its like not knowing what I don't know situation here.