What future for the BGL module?

Hey, everybody.
I would like to know what will become of the BGL module in Blender 2.8.
Will it disappear or simply undergo a rejuvenation because Blender will use opengl3 ?
Will we still be able to “draw” in the viewport as we currently have the possibility with the BGL module ?

I don’t know of any plans to remove the bgl module, though OpenGL functions deprecated in the core profile will no longer be available.

We may add some additional APIs to make drawing easier, since OpenGL core profile requires more complicated setup, but this is not defined yet.

2 Likes

In theory at least BGL even in Blender 2.79 suppose to support OpenGL 3, if you look at the API it does seem to have at least the basic functionality.

I tried to make it work today (following the simple triangle tutorial for 3.3 that is available online) but it end up in a mess with overiding the openGL context of other areas eventhough I used a similar workflow (modal operator) that I also used for my OpenGL 1 solution which worked. It may be something wrong with my code but for now it does not give me any errors. By errors I mean GL errors (via glGetError function) and regular python errors. I am still in the process of investigation.

My code can be found here

https://github.com/kilon/morpheas/blob/master/backend.py#L49

Another interesting matter is overlays and whether we will gain access to them via API that may make OpenGL 3 API support via BGL not that necessary.

If all fails I am prepared to fork Blender and go directly to a C implementation but I rather not maintain a fork so hopefully BGL will be update to full support OpenGL 3.3 which is the minimum spec for Blender 2.8

There is also the matter of Apple dropping support for OpenGL which means it has already lost 2 of its 3 major platforms, iOS, MacOS and Android which will certainly affect its future especially with Vulkan partly replacing it , even though its a more low level API.

I am currently developing an addon myself that highly depends on my own custom GUI API so I hope we get some answers on this soon or else I am seeing myself forking Blender and getting myself dirty. One of the biggest issues with BGL and OpenGL in general is also error reporting which is pretty much stone age.

I really hope this BGL keeps being available in blender. This part is used on a external render engine which makes it possible to IR render in the viewport of Blender and also do Border render in blender using that other engine.

So there is no other way to draw images or text in the viewport other than BGL module? Because there are quite some addons which also use BGL and heavily make use of this feature. It would be a pitty if that cant be used anymore.

Do border render and box select also use BGL it self to draw in the viewport?