Going from opengl 1.1 to 2.1 for blender 2.74

Ton wrote a tweet about this thing, should blender change its opengl version from 1.1 (or 1.0 not sure) to 2.1 and there were some answers, some in favor some others not.
i open this thread the same way i open a pool in facebook, not much to open an argument, but to hear many people opinions and try to build my own.
Im just an user and just want to get more information about this subject, to have a more open panorama to understand better the tool and its progress.

some questions i have
Is it possible to get better performance from Opengl 1.1?
Really so many user will be left behind?
is this upgrade opening a path to get OpenGl_Es to be used on tablets?

What do you think, if you know for sure better, im getting a bit lose here ^-^

I think that going for 2.1 is a great idea,
Also, I think supporting android development of blender is very important, Technology seems to be going to a mix of power at home and portable when in the field,

3d animating or writing a bge game at the bus stop sound like it would be a great idea.

Also, mobile devices are much more 3rd world friendly then pcs. A solar panel, a Sat modem, and a tablet, and someone could change their stars.

I seriously doubt any one will be left behind unless you have not upgraded your pc in the lest +9 plus years. Didn’t cards supporting 2.1 start coming out 2006-2007?

Just wild speculating here but I suspect most Blender users probably run more high end PC. 3D to me is a very geeky nerdy pursuit so I think most people who are into at are likely into computers and try to run the best gear the can afford.

If you have older gear the are always older versions of Blender available.

Is it possible to get better performance from Opengl 1.1?
Really so many user will be left behind?

Hi, yes, better performance.
OpenGL 2.1 is possible on 10 year old cards, we are at OpenGL 4.3.

Cheers, mib

Opengl 2.1 is 9 years old now… especially one that handles cycles, you will be fine.

Performance probably will be initially the same, but there will be new functions and techniques that the developers will be able to harness in the future.

I for one, think that compatibility needs to be in check with development… Blender should be able to be compatible with many different configurations, but not limited by it. 9 years is enough time for this i believe. If a users computer cannot handle it, they are still able to use blender 2.73 fine. Heck there are still people who are dedicated to 2.49

I dont get it. Why not make the most recent version in Blender? We have an old version already so including an option for say 4.3 (which is 2 years already) that also would be default and if the user´s card is so old then Blender would switch to the current version. More code yes but it would allow for in viewport creativity that allows for opengl renderings that many times is more than awesome.

2.1 really? cmon people surelly must have invested a little bit money in their GFX cards if they are serious about 3D.

  • Absolutely must upgrade to newer OpenGL. Viewport performance is a major bottleneck currently as it is critically important for sculpt, animation and bigger scenes (such as in arch).
  • Why not have multiple OpenGL versions supported? Houdini has 1.1, 2.1 and 3.3. In 10 years we will still be stuck o 2.1 because % of users do not have 3+? It’s the only way really

just deleted

I am open for improvements and welcome anything which makes Blender able to not be left behind other programs.

XP as an OS got thankfully thrown out of Blender support.
The jump to newer Visual studio versions for building Blender got done.
For GPU rendering ancient gtx cards are not supported anymore,all of those already had OpenGL 2.1 and probably higher.

The progress clearly should not stop at modernising other parts of Blender.

I’m all for advancing functionality. If you want to run Blender on a decade old hardware, do it with 2.73 or older. No need to gimp progress for compatibility with irrelevant hardware.

Agree. I think modernizing a bit the configuration is something can be done by all of us, a modern GPU capable of use 4.3 opengl can be purchased for few bucks. Cannot stop developing only because someone cannot or don’t want upgrade.

A dev can tell us why not Open GL 4.3 ?

Hi, a little comment from me here as well.

Basically, we never wanted to throw away old OpenGL right away. The proposal is as seen here: http://lists.blender.org/pipermail/bf-committers/2014-December/044804.html

So the idea is not making blender unusable for people with old cards for 2.64, but rather to design new features assuming people will have the minimum requirements for core features. Basically this just means that if you don’t have a shiny new 8 years old GPU you won’t get access to the latest features. Which is sort of reasonable imo.

About why we need OpenGL 2.1: Mostly, we want to be able to visualize mesh data in creative and non-standard ways. Even if you do want to do that in legacy OpenGL to some limited extent, you have to use “newer” awkward functionality such as texture register combiners which is -and I try to be polite here- a pain in the ass and is not OpenGL 1.1 but 1.3. Our new texture paint display uses that and it wasn’t funny.
So if you just want to display a mesh with normals and a color, maybe plus a texture or two, legacy OpenGL is your friend. If you want to use multiple mesh data attributes and use one to control the other or use more than 4 textures in non standard ways (which means not directly for color display) then you have a problem.

I will be the first guy to say that SSAO and DOF are basically eye candy. However if you’ve ever used material drawing mode or smoke simulations or even color managed views on cycles in the viewport then you’ve used shaders. If you want to author bump or normal maps? You need shaders. If you want to use instancing for performance, you’ll need shaders. Matcaps in sculpting are shader based (though you could put that under eye candy too I guess).

And, we should start moving our drawing code to shaders because there is another crowd - the mobile crowd - which won’t be supported ever unless everything is ready for OpenGLES which means shader based.

Apart from shaders, OpenGL 2.1 implementations usually support offscreen rendering which can allow us to do clever compositing not only on viewport but also on UI level. We are exploring some ideas there.

A good middle ground is what we already do: provide legacy material definitions for some workflows. For computers that do not have a legacy definition for a workflow we could just fallback to solid shading or simple texturing if that makes sense. But the meat of the proposal is: We should not limit what we want to do by assuming we have to fully support legacy systems anymore.

To not upgrade to the newest OGL is one of those crazy decisions …

It should be updated to an even newer version.

We can always use 4.x extensions in our code. What do you want to do with OpenGL 4.3? We can probably expose something like that. But first we obviously need shaders everywhere.

OGL should definitely be updated to the latest version. Cycles requires Cuda already. Introduced in 2006. After OGL 2.

What do you want to do with OpenGL 4.3?

The same thing than in other 3D software. Having a look at our mesh how it really looks. This is especially interesting for game needs, where you can judge much better if your created art looks like you want it to look. But also as a good preview for rendering.

I’m not sure, but doesn’t the newest OGL also allow the useage of PBR materials?

Will these new viewport capabilities be exposed to blender’s material/compositing node editor?

SSAO would be very useful as a material node too :slight_smile:

SSAO would also be super useful if you expose it to the texture painting and sculpting modes- to use it as a cavity mask (you know, the way zbrush, 3dcoat and mudbox do). So it is NOT just eye candy. It is super useful if implemented the right way

mudbox viewport filters are amazing and are very very useful!

i am confused. they want to almost require cuda level cards which are opengl 5 cards butt are worried opengl 2 will leave people behind? and what happens when opengl ng comes out which will be based on amds mantle? and opengl 2.1 required supporting opengl 1.2 1.2 came out the same year as the pentium 2 processors which are so old they did not even require a cpu fan and topped out at a whopping speed of 333 mhz.

are they really worried they might leave behind computers that topped out at at 200 mhz? 200mhz? its back when 128 mb of ram was a super gamming pc, when most people only had 64 megs of ram. when you have to boot in dos to play games because there wasn’t enough processing power to run windows and the game.

if you have a pc that cant run opengl1.2 which is required by opengl2.1, you cant run blender anyway. its not that blender isn’t going to lose anything they didn’t already lose years ago, you cant lose what you never had. if ton is really worried here is a flash back for him. https://www.youtube.com/watch?v=hWq4DWfrpu8

@blurymind, SSAO is just a 2D filter. It works on screen pixels and cannot be applied to a mesh or anything like that.

BTW the CUDA argument is not really the same. Updating to the newest OpenGL will actually leave a great many users not able to run Blender at all while in Cycles you will always have the option to render with your CPU, GPU rendering is more of a bonus feature anyway.