afritz1 wrote:Good to know. I haven't been using modern Unity for very long so I'm not completely up to speed with the bugs and workarounds yet. I just thought I'd mention Vulkan since it's a very interesting path to take for rendering, and most of the work is done for you by Unity
. I've only done about a quarter of the Vulkan tutorials so far because it's much more verbose than OpenGL. I'd like to do some graphics experiments with it sometime for fun. I've already done a lot of ray tracing with OpenCL, but it doesn't provide a graphics API, so it's not the best choice for high-performance rendering. Vulkan on the other hand has both a graphics and compute API, so it's a much better option.
Yeah, I agree with that.
Bit of *history, for those who don't know. Because if you're familiar with my posts on here, I love to explain things.
Back when DirectX first came out, most game programmers weren't too sure what about this new 3D stuff, or how to use it. So DirectX was deliberately written to handle a lot of the **details for you. And it worked; other APIs may have been, or were, faster; but DirectX was easier to use. And ease of use winneth a lot. So it got more and more popular, 3D game development advanced, CPUs gained multiple cores...And something else important happened.
Game developers now had a *much* greater handle what about this 3D stuff is.
Now, DX9 introduced some ability to render from multiple threads (it's in the render options when you create the device). DX10 and DX11 expanded on multi-core rendering...and went even more low-level.
So, then experiments like Metal and early Vulkan (built from OpenGL) started showing up. And Microsoft needed a competitor. And for that...They'd only need to keep heading in the same direction they (and everybody else) already were.
Add more multi-core capability...And go even more low-level. Exactly what Metal and Vulkan were doing.
And thus, the current ***wave of graphics APIs. Because game programmers now know a lot better about what needs to be done than the graphics API, and because CPUs have multiple cores these days as a ^matter-of-fact.
* As I understand it. In 1995, I was over two decades younger.
** 3Dfx's Voodoo cards used a proprietary Glide API which allowed more low-level control; however, 3Dfx failed for management and marketing reasons unrelated to their API, and this post.
*** All three? four? of them.
^ If this stopped being true, I would expect it to be part of some sort of material paradigm shift in CPU manufacture. Probably relating to no longer using silicon.