Is there a possibility that the new blender will support Vulkan?
march 15, 2034
How will it benefit from it again?
The Vulkan API will allow for faster real-time drawing because the code brings the developer closer to the inner workings of the GPU than OpenGL 4. This means that some of the safeguards that people are used to no longer exist, but allows for better optimization across the board.
This won’t be so useful for offline rendering, but it might have use when Blender gets the new viewport engine that is being planned.
Here’s an example:
I can’t wait, if this ends up powering the bge… that would mean IOS support and potentially android?
Do newer androids supports Vulkan?
and amazing level of complexity potential…
i highly doubt that this will happen anytime soon. Mantle/Vulkan is basically glNext ( OpenGL 5 ). With some nice Perks and Multithreading Support. Since OpenGL 4.5 theres also GPU/CPU Direct Access thru ARB_direct_state etc. . To my Knowledge the full Vulkan API is not yet in its “stable” defined state. Compute Shaders basically work the same as OpenCL and GLSL replace aged FFPARB Shaders.
The asynchronous Debugging and so on all sounds nice but i can’t see how Blender at this Point benefits from it given the Fact that most of the Drawcode still relies on OpenGL 1.x and just slowly is moving towards 2.x ( correct me here if i am wrong ). Viewport Shaders and Things like Opensubdiv might benefit from that at some Point but given Blender’s limited but excellent Manpower i doubt it has high Priority.
I think Psi-Fi has made many drawing code improvements in the latest release.
I guess the viewport can handle many more polygons, but I am not sure about when it will be done.
Vulkan is not going to be some magic bullet that suddenly causes the BGE to work on mobile, because it only affects things in terms of graphics rendering.
Other development work will still be needed because what makes a working runtime on mobile is not the same as what makes one on PC.
also keep in mind that these demos are very oriented towards games, they use pretty static data that can be stored in very optimal ways. It’s absolutely a good thing but like Ace says its not magic. A 3D apps viewport has to deal with alot of very chaotic data changes so alot of potential optimisations go out the window.
Thread is derailing, I called it
A lot is possible, especially if decisions are made in that direction. In this particular case the question is more whether it is wanted. Supporting multiple graphics libraries at the same time requires a lot of work and not just the initial implementation. The maintainability work is huge! In order to use the advantages of Vulkan, it would be needed to multi-thread the rendering code. It could be used in the same way as OpenGL, but like that the performance advantages are lost. That means that either a huge refactoring of the code is needed to switch to Vulkan and leaving behind a lot of people who don’t have required hardware and drivers, or a very clever abstraction is found that automatically handles OpenGL without loosing the advantages of Vulkan. But this would mean a tremendous amount of work and a considerable amount of resources would need to be shifted towards that direction.
If I have a look at the current plan for Blender 2.8 and its goals, it doesn’t look realistic that this could be included as well. And if it is included, it means other areas will get a cut.
It could happend in the future, but as said, it will ask for a complete rework of the code of Blender ( who dont even use last OpenGL iterations ).
Basically, Vulkan is considered at replacing OpenGL in the future. (even if the OpenGL5.x will still be developped for retro compatibility purpose ).
Vulkan break what have pledge OpenGL for years, but it will loose a lot of retro compatibility ( its needed, it exactly what was the problem with openGL, too much old code, who run so bad and are still ported again and again in the versions ).
I dont think the problem is much on the hardware side support anyway. more on the appliccations side. Its not directX… It support every OS, it supporter all brands hardwares and supported by all hardware.
What seems more interessant in 3D professional softwares, is how the integrations and links with OpenCL is made ( through Spire-V and other tools). And that could way been a game changers in the next years in that matters. ( but this things take time ).
Actually it is mostly Mantle who move on professional side ( can imagine vulkan will replace it at term ).
I will not only look on the performance side, theres way much to gain. ( but yet anyway, Vulkan is not ready, this will take time )