← All ideas
  • Published 5 Nov 2022

Support many versions of OpenGL

[Long term idea - maybe v4.x ]

Inspired by godot why don't blender go with the same idea and only unlock features that match user choice of opengl

Screenshot_20221105_133140.png

This may bring blender 2.x <= 2.7 to live again with all droped features with only refactoring

Also would help if you decided to go for "Everything is AddOn" ( I would post my idea about this in a separate issue )

First issue here : I hope I posted in the right place

comming from blender.chat/channel/blender-coders kB25}

0%

Development Status: Archived

Upvote 0 Downvote 3
a
5 Nov 2022

7 Comments

jeroenbakker

OpenGL is a minimum requirement. If your system has a higher version blender will utilise this. For example compute shaders and shader storage. Going back to an earlier version is not possible due to the big differences inside OpenGL.

A big difference between a game engine and blender is that fix quality in blender must be consistent. Otherwise your scenes will look differently on other hardware. This is acceptable in game engines, but not when doing production work.

Currently metal and vulkan is in development. Eventually opengl will be phased out, but not in the near future. What I want to say that what you are proposing doesn’t match blender as a content creation suite and is a large investment for to my knowledge not that much of benefits.

1
jeroenbakker

Just a side comment . The plan is to bump minimum requirement to OpenGL 4.3 in blender 3.5. We could not do this earlier due to Limited support of OpenGL on macOS. As metal is now introduced we can now safely increase the minimum requirement

1
a Author

[1]

The benefit I see is't for now but for next major versions Let's say someone build a new lib like OpenGL

  • you would need to drop and rebuild blender
  • or refactor a new branch
  • or fork, if it's not supported officially
  • or at least distructive edits like what happend from 2.7 to 3.x

What I'm tring to say is : build once and reuse

[2]

fix quality in blender must be consistent. Otherwise your scenes will look differently on other hardware

Of course that's per project feature, and could be specified in blender preferences

[3]

Other thing is the elemenation of a hardware limitaion, so blender could run on more devices with any version, however the functions runnig are only related to hardware

[4]

Think of it as every thing as addon - and addons depend on base and graphic addons

  • OpenGL 2 addon
    • opens only opengl 2.x specific features
    • always open for user with opengl
  • OpenGL 3 addon
    • enabled when only opengl 3.x is supported and enabled
  • AnyNewGraphicDriver
    • would only need an addon for supporting it
    • if it's supported all features of opengl it, then all your addons would work
    • if not, then it would had it's costomized addons
  • For addons developers
    • they could determine which Graphic Driver from preferences api
    • they should add what graphic driver the addon support to the addon code

[5]

[Long term idea - maybe v4.x ]

I know it's a very long thing to go with and would need a new structure of blender builds

that's why I'm saying it's for LTS not for the current version

ofcourse it's hard to refactor it now, and ofcourse it's more hard to do whenever any new driver arrives or any new major version with more features

This could be a draft for now

But it's a thing to consider if you would like blender to continue and include forks over time, not to be replaced by any fork for a hardware limitation

I'd post another post for "Everything is an Addon" to complete my vision as we couldn't disscuss two separate things here

a Author

4.3 WOW !

I remember the latest is 4.6

jeroenbakker

Sorry, but what your proposing isn’t realistic and assumes that blender doesn’t have systems in place that cope with multiple gl backends. My advice if you want to propose something such a low level change is to do more research on the topic and the implications.

2
jeroenbakker

There is a difference between a minimum supported version and the version that is actually used. So if you have a 4.6 capable system since blender 2.6 it is already being used.

1
a Author

There is a difference between a minimum supported version and the version that is actually used

Yes, I mean minimal to have 4.3 is limiting hardware more

seems my proposal here goes aginst blender foundation sight

what your proposing isn’t realistic

However It comes from the fact that some droped features are really separated as forks like UPBGE

I didn't want blender to be a bunch of forks, branches and versions for every use case

but a base, with addons for every separate need ( for blender or use cases )

I wish I could develpe in languages blender writen with to refactor it myself

Any way it's just an idea