PDA

View Full Version : OpenGL or Vulkan?..



Yandersen
02-08-2017, 02:40 AM
Hello everyone!
For a some time coding apps with OpenGL was my just-for-fun hobby, inspirational thingy, u know. I "liked the style" of OpenGL, it seemed to be so perfect, logical, handy, easy to learn and understand - much better in comparison to messy DirectX. And I had that good time with OpenGL until Vulkan get released. I thought it is meant to replace OpenGL, giving more functionality, simplifying and unifying things, even in expense of some more code, whatever, but... Once I had a view on that monstrous senseless swamp of low-level BS, I realized I will never be able to switch to Vulkan, I do not even want to try - a quick view on the code for a simple drawing knocked me down! Why do I have to write graphics' drivers layer myself? Isn't it a card vendors' job? Or is it expected that programmer who wants to draw things suppose to know better how to manage system resources comparing to the people who develop the graphics card? Because it seems to me that this is all about Vulkan. I can't take the same pleasure from drawing with Vulkan as I had it witth OpenGL. So I lost all inspiration. So can anyone tell me, is OpenGL dying out to be superseded by Vulkan, or Vulkan is just a side thing and OpenGL will continue it's life? I am afraid, because I see it's evolution stopped since Vulkan get online. With version 4.5 it got all I ever dreamed about, that is for sure, but if it is to be a final funeral gift, I will give up and find some other hobby, because even a thought about Vulkan just hurts my butt.
So does OpenGL live, or is it already done?

Dark Photon
02-10-2017, 06:23 AM
...I had that good time with OpenGL until Vulkan get released. ... Once I had a view on that monstrous senseless swamp of low-level BS, I realized I will never be able to switch to Vulkan, I do not even want to try - a quick view on the code for a simple drawing knocked me down! Why do I have to write graphics' drivers layer myself? ... So I lost all inspiration.

So can anyone tell me, is OpenGL dying out to be superseded by Vulkan, or Vulkan is just a side thing and OpenGL will continue it's life?

The official Khronos information I've seen has always said OpenGL and Vulkan complement each other and will co-exist alongside each other.

That said, what determines how long OpenGL remains a vibrant, active API is the extent to which OpenGL and OpenGL ES applications generate revenue for the GPU vendors (nVidia, AMD, Imagination Technologies, Qualcomm, ARM, etc.) by increasing GPU sales. This pumps up demand for quality OpenGL/GL-ES drivers that continue to support the latest GPU capabilities.

When you look at how widely OpenGL and OpenGL ES is used throughout existing applications which generate significant revenue for businesses, it's hard to see OpenGL/GL-ES based development going away anytime soon.

Couple that with what's the alternative? It probably makes no cost/benefit sense to convert most existing apps to Vulkan. Further, while new game engines and high-end specialized apps may opt for Vulkan, for most new general graphics development, OpenGL probably makes more sense from a developer/product cost/benefit perspective, partly for the reason you pointed out. Vulkan is a lower level of abstraction than in most cases you need to deal with. I suspect that's going to continue to pump up OpenGL driver demand.

That said, what I'm really curious to see is whether one or more cross-platform abstraction layers / tookits are developed on top of Vulkan which make a compelling case for doing general realtime/interactive graphics development on top of them instead of OpenGL. Who knows -- maybe one or more of the GPU vendors will write their OpenGL drivers for their newest GPUs on top of their existing Vulkan driver core. If it makes good cost/benefit sense, I'm sure they'll do it. Further OpenGL/Vulkan interop development might push driver development in that direction too. In that case, OpenGL would then be the abstraction layer / toolkit developed on top of Vulkan.

Dark Photon
02-18-2017, 06:49 PM
Once I had a view on that monstrous senseless swamp of low-level BS, I realized I will never be able to switch to Vulkan, I do not even want to try - a quick view on the code for a simple drawing knocked me down!

Very much related to your comment, you may want to take a look at these videos from a recent All-day Vulkan tutorial session given by Khronos:

* Vulkan DevU: Feb 2017 Vancouver (https://www.youtube.com/playlist?list=PLYO7XTAX41FOURVQnOMFI-uHyuyIGh6eX) (videos)
* Vulkan DevU: Feb 2017 Vancouver (https://www.khronos.org/developers/library/2017-Vulkan-devu-vancouver) (slides)

I'd encourage you to play at least the first video (12 minutes long), and listen to Tom Olsen's comments about Getting Started with Vulkan (before 2 minutes in). I think it'll give you some encouragement and renewed motivation.

Silence
02-20-2017, 02:41 AM
maybe one or more of the GPU vendors will write their OpenGL drivers for their newest GPUs on top of their existing Vulkan driver core. If it makes good cost/benefit sense, I'm sure they'll do it.

This will certainly happen and certainly for one more other reason: vulkan drivers and OpenGL drivers will behave more like the same. For example, if there's a bug in the vulkan driver, it will also exist in the OpenGL driver (so will allow to discover bugs more quickly). But fixing the bug in the vulkan layer will resolve it in the GL layer too. It has then an importance in a maintenance point of view.

biztechcs
03-10-2017, 04:42 AM
I "liked the style" of OpenGL, it seemed to be so perfect, logical, handy, easy to learn and understand - much better in comparison to messy DirectX.