![]() When it comes to video games on the PC, developers almost always use one of the popular APIs to bring the games to life on the platform. Should you choose Vulkan or DirectX 12 in Red Dead Redemption 2 Vulkan and DirectX 12 allow for communication between the game and your PC hardware.ĪPI is short for application programming interface. What do these APIs do and which is best for you? Both Vulkan and DirectX 12 are selectable from the graphics options menu. In addition to settings for increasing draw distance of objects, the precision of physics simulations, and the quality of graphical effects, the game also offers PC users two different graphics APIs. Like most multiplatform games that release on PC, Red Dead Redemption 2 offers visual upgrades and options not available in its console counterpart. If you have experience with another programming language like JavaScript you might already be familiar with these concepts.Now that Red Dead Redemption 2 has finally made its way to the PC platform, thousands of players are hopping into the game to get a taste of the wild west. ![]() I recommend reading over the Game Programming Patterns, and a couple introductory game development tutorials. From the simple infinite game loop, to factories or observers - you’ll find these patterns repeated in a lot of codebases and tutorials without much explanation. ☑ Learn common design patterns and architectures. I recommend following the tutorials on the Learn OpenGL website, it does a great job of going over each concept and explaining them with visual diagrams. From transformation matrices, to vertices, to techniques like depth buffers or shadow maps - these are all things you’ll exercise in DirectX 12 and previous experience with a simpler API (like OpenGL) would make the process easier. ☑ Learn the basics of graphics programming. Tips like using auto to quickly define variables will help you work faster or understand code examples from tutorials. ☑ Refresh on modern C++ standards from C++ 11, 17, and maybe 20. Most tutorials for OpenGL will cover this process, ideally you just need to learn how to do it in Visual Studio (instead of going down a CMake rabbit hole). Like much graphics projects, you’ll find yourself linking to DLLs to access APIs from graphic drivers ( like DirectX 12 itself) - or maybe other libraries like DirectXTK for utilities or imgui for UI. These concepts will be used heavily since graphics programming tends to be very low level and deal with streams of data inside “buffers”. ![]() ☑ Dig into advanced C++ concepts like I/O streaming or memory allocation (like stack vs heap). ☑ Learn all basic C++ concepts like the basic types (int, vector, etc), classes, conditionals, loops - you’ll need a lot of it. So these are the topics you should brush up on prior to DirectX 12: ![]() The more knowledge you can come reinforced with will make your journey a breeze. It’s not a wrong approach - though you’ll find it can become overwhelming quickly looking everything up. Is this a DirectX 12 API or just C++ stuff? The more I rushed I found myself asking these questions. I never like to say “you absolutely need to know X before Y”, but when you’re learning a new concept it’s easier when you know what’s what. ![]()
0 Comments
Leave a Reply. |