3 ms·
Whoa holy smokes yeah I missed the mark on that one. So Vulkan is a replacement for openGL, essentially a new api to gpu's in general? Is that closer to it? I
by lubesGordi 10y ago
Whoa holy smokes yeah I missed the mark on that one. So Vulkan is a replacement for openGL, essentially a new api to gpu's in general? Is that closer to it? In the future I'll phrase the statement as a question if I'm not 100% clear on it. Sorry for the noise.
- gnarbarian 10y agoVulkan is a new API standard from the Kronos group meant to compliment opengl and opencl by offering lower level access and merging the graphics and compute APIs. It was gifted to Kronos from AMD where it had been called mantle.
- Narishma 10y agoIt's an alternative to OpenGL for applications requiring all the performance they can get, not a replacement of it.
- digler999 10y ago> In the future I'll phrase the statement as a question after you google it first, please.
- skocznymroczny 10y agoIt's a new API, and a much more low level one. Meaning you need more code to do stuff, but you have more control over each step, which wasn't available to you in previous APIs. For example, capturing a game screenshot. In OpenGL you have a method glReadPixels which will flush the GPU queue, wait for operations to finish, read the screen pixels, convert them and put them into an array. All in one method, all outside of programmer's control, done somewhere in the driver. Meanwhile in Vulkan, same task requires programmer to flush GPU, wait for operations to finish, allocate memory for an image, create an image in linear format, transition image to proper state (transfer destination), transition swapchain image to transfer source, blit the pixels from swapchain image (which could be linear, could be tiled) to linear image, transition swapchain image back, map memory of the linear image. A single line of code in OpenGL translates to about 50 lines of Vulkan code (lot of it is stuff you'll write once and reuse everywhere else), but you have full control over each of the steps.