Don't you think Blender Developers waste their time on opengl 2?

I saw that new viewport will use opengl 2.1 and Blender’s future roadmap shows they would like to implement opengl 3 in viewport, while I think this is a waste of their precious time, I think most graphic hardware and OS’s support (drivers) opengl 3.3 and 4.4, as you may know Mesa support opengl 3.+ on lastest linux os, I think they should implement OGL 3 and put OGL 4 on future plans, I even think that they better put their time on OGL 4.3+, there are lots of features in OGL4 from tessellation and memory barrier to compute shader (while this one is a bit buggy yet) that can be implemented in blender for use in game and other viewport activities.

Nah. As long as they get rid of the fixed function pipeline and immediate mode, it’s fine. Going from what’s there now to OGL 2 is a big change. Going from 2 to 4 on the other hand isn’t such a big deal.

Tesselation isn’t so useful for blender since you’d want to get that data back from the GPU for further processing instead of just drawing it, so it wouldn’t be that much faster, if at all. And for compute shaders Blender uses OpenCL/CUDA, which are quite a bit better.

After getting things to 2.1/ES compatibility the fancier stuff can come as extensions without issues.

Piotr: I think you’re mistaken about tessellation, having support for it is going to be a big part of getting adaptive subdivision working for OpenSubDiv integration. Can’t get the most out of the viewport playback without an actual hardware tessellation shader.

I think if developer work on opengl 3, as you may know opengl 3 + uses new modern style, then it is much easier for both developer and users to change the code to next opengl (i mean 4.x), another reason is openglES and phone devices, modern opengl is very similar to opengl es, also I see opengl 4.5 interactive easily with directX, I think GPU tessellation is a great things to have in blender, compute shader for FLUID and physics is great, as you may heard that bullet 3.x also moved to gpu computation,

opengl 4.x memory barrier and synchronization is a GOOD things to have because this cause that Blender be less buggy related to Gpu,
can implement realtime Global Illumination in realtime like Nvidia’s one (Voxel base), OpenGL 4.3+ will opens a lots of features open for users, using much faster and better simulations in realtime that uses gpu’s parallel power with opengl 4.x facilities.

I haven’t actually looked into it, but my impression was that with OpenSubdiv the mesh is computed using OpenCL/CUDA in GPU memory, then drawn from a vertex buffer as usual. I might be wrong here.

No they dont waste their time, current version has its limitations, preparing for higher version is a good thing, once closer they can later evolve with other openGL versions… and maybe it could be becomme a 3th render engine cycles-bi-openGL, i think opengl could be enough for games etc

There are two sides to the argument here, one can say that OpenGL 2.0 is at least a step towards eliminating all of the ancient graphics drawing routines that define a lot of drawing code in Blender at present (that and the fact that the Blender devs. have an interest in not requiring one to have the latest hardware to use it). Others might say that Ton and co. are way too conservative as to the hardware requirements and should significantly up them to be in line with other 3D software.

I would say, there is a real need to bump the requirements, but it should mainly concern the end of support for truly ancient hardware as I do understand we have a number of users from the third world who find it hard to get the latest hardware (and Blender is a creative and money-making outlet for them in a country where such opportunities are otherwise not that easy to find).

then make is as an option if possible function of hardware !
like for video card or cpu !

happy bl

The regular subdivision schemes work that way, but the feature and camera adaptive dicing with real time displacements requires a hardware tessellation shader.

on the gpu rendering site the Blender developers already have indirectly made a cut for older OpenGL versions.
as an example the fermi architecture have in their lowest Cards at least OpenGL 3.3.

Opengl 2 code is more different than opengl 3 (which uses modern style), while opengl 3 and 4 are more similar, this makes it easier to change the code later, opengl 3.+ not uses any math library and its better for blender to use its own with opengl.

Regard to hardware:
so I think most hardware today can handle opengl 3, for example see Steam hardware survey, even in poor country, for example in china most os are win xp but hardware around 80+ percent are modern opengl capabilities, even $30 gpu will handle opengl 3, if someone wants to work in 3d art, he/she understand that must get a computer with some good hardware, don’t you think cycles render pushes the graphic card specifications? if you have older hardware you can use older version of Blender let’s say for Opengl 2 use Blender 2.73 for upper version use Blender 2.74+.

I think one of the good usage despite sculpting and faster model drawing in 3d is in compositing, definitely faster updates and able to code much complex effects.

which third world are you talking about I live in the so called third world and I can pick up any computer hardware pretty much when it comes out. Say it with me globalization…

The premise of this thread is completely wrong. You’re mixing up the OpenGL minimum requirement with the OpenGL features actually being used.

It’s also nonsense to poll users for their opinion on something that they don’t really understand.

The thing you are worried about (modern OpenGL vs. old OpenGL) is already being taken care by means of an abstraction layer. Blender will be using OpenGL3 or ES2 under-the-hood on platforms that require it. There’s nothing wrong with old-style drawing, as long as it doesn’t become a performance problem. For stuff like UI code it’s actually much more convenient to use.

As for those fancy new OpenGL 4.3+ features: That stuff probably doesn’t even really work. OpenGL drivers are notoriously buggy. Apple doesn’t even support Compute Shaders yet, nor does Mesa. If anybody wanted to add such features to Blender, they already could, but it would have to be optional, not raise the minimum requirement (just like CUDA or OpenCL support is optional).

I think it is not so fancy with I think it could be implemented as experimental part like opengl 3 or 4 module for just drawing part, my whole point is why roadmap has opengl 3 while they want to implement opengl 2.1, why not straight dive into it? you want to rewrite some code later why not now?

anyway your right, and it is depend on developer of course not users.

good luck to all.

They’re going to raise the minimum requirement to OpenGL 2.1, because that’s when shaders became part of OpenGL proper. That doesn’t stop them from using OpenGL 3+ features. They have been using OpenGL 2.1+ features for years (GLSL mode), but those aren’t required to run Blender. Who said code needs to be rewritten?

now I got it, ok

Except that you can write OpenGL 4.0 code -now-. Check your system_info.txt in blender and you will see your latest OpenGL version nicely displayed in there. OpenGL does not stop you from writing GL 4 compliant code. The only requirement for the programmer is to check for the relevant extensions or version first.
If the change to GL 2.1 is done right and carefully (no GLU, everything shaders) then switching to GL 3.0 is just a matter of adding Vertex Array Objects, changing varying/attribute to in/out in our 20 or so shaders (can be done with find and replace) and probably pushing uniforms through uniform blocks. It’s not that terrible. But why preclude users if we can avoid it? If you can already use the functionality then it’s just marketing imo.
Bear in mind OpenGL 3.0 is not that new. The specification was released in 2008 which is 6 and a half years back. A long time in computers but not that long to justify precluding users by requiring GL 3.0. And I will disagree that bying a compliant card is just a 30$ cost. Usually a change requires a new motherboard and thus a new CPU/RAM as well. A GPU upgrade can easily require a new computer actually.

is not there a few projects for new shading methods awaiting open gl- 3?
also New nurbs tools for nurbs surface will require open gl3 for using a new shading method with normal shading or something like that !

don’t know but if this open gl 3 is going to give lot’s of new features then it should be implemented as soon as possible!

happy bl

I voted with yes! But i do understand the devs point.

It will not. As BeerBaron pointed out, they can already use those features. It doesn’t even mean they’ll necessarily have to provide an alternative path for older hardware - if they’re isolated enough, those features may just not work on older GPUs. They just can’t make GPUs that support OGL 3+ a requirement to run Blender at all.