Going from opengl 1.1 to 2.1 for blender 2.74

(Belich) #1

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 ^-^

(BluePrintRandom) #2

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.

(tyrant monkey) #3

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.

(mib2berlin) #4

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

(doublebishop) #5

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

(SoulVector) #6

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.

(cgstrive) #7
  • 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
(bnzs) #8

I just duplicate my arguments which i bring in #b3d (here is the link https://twitter.com/tonroosendaal/status/551783470473945088 )

this is just my opinion - but for those people who bring argument - is i have GTX xxx card - then all others can it have - this is very
narrow minded argument. think wider please - blender is awesome and that feature of blender - that it can run now on any hardware with full functionality and any one can run blender - no matter what hardware you have - this is distinctive unique feature blender. The thing is not only with desktop but with many users on notebook - there integrated cards that cannot be upgraded.

many many hardware will not work if you do minimum
2.1 opengl. For example from hardware which i have 4
pc render nodes have onboard video card that support
only 2.0 (and this mobo not old on them work 6 core
phenom ). Also i have 1 tablet (with +wacom screen)
with intel card 1,3 ogl and also good old notebook slash
tablet (again wacom screen) also with card 1.3 ogl
(geforce 420Go): and one notebook with intel x3100
also not support 2.1 - And In my example - as you see -
lot of good hardware remains out of work - on renders i
ca not run blender in gui only from command line if you
up on 2.1. But on 2 tablets and one notebook who i use
for sculpt practice i must stick with 2.73… and only main
workstation have good, updated gpu…
releasing the restriction of blender OGL 2.1 you kill a
heap is not such a bad\or even good hardware.]


It would be very convenient if the blender continued to run on old gpu - but functions that use OLG 2.1 be just inactive

i use blender for 100% modeling, 60% texturing, render and other stuff - 3dsmax (some time maya and xsi)

I love working in blender, and thank you Ton for you work, all i write just describe how sad i be if i can not use newest vesions of blender on some of my hardware. If you belive that OGL 2.1 is needed - just do dont ask us - for you know better what need for blender.

NOT Supported OGL 2.1
1-motion computing c5 (better see on google) - cintiq “like” tablet Core2Duo CPU + 2Gb ram + integrated Intel video card

2-HP 1100 TC (better see on google) - cintiq “like” screen on notebook - Pentium M + 2Gb Ram + GeForce 4 Go 420

As i mention - i use this for modeling\sculpting - and i agree this is od hardware BUT - they work good with blender for now

agree huge - i belive there are huge user base who use intel video card on notebooks, and if they not write here-this is no mean that they dont exist - belive - they make some noise when blender cant run on these hw. I - for example - accidentally on BN read about discusion here in b3d and only for write here restore my twiter account.

The argument of those who wrote that his XXX video card and therefore normally update since he’ll be ok - well (for example) on my computer gtx 770 and what happens if I’d say - normally limit it to her blender and above for id of videocard - and I have the right to write comment “once I have GTX 770 and it means everything is working for me and because of that - you can make it, TON”

In addition, for embedded graphics (as well as on weak laptop cards) works maya, xsi, 3dsmax, cinema4d, houdini - and Blender 2.74 will not work. THIS IS VERY BAD AND SAD.

Look at mudbox - he intensely focused on the graphics card - and they can not work normally with more than 15 mil polygons - but he can display in the viewport DOF AO and other crap. A look at zbrush - he does not use hardware acceleration but normally displays a hundred-million polygons and matcap materials, he has - it’s not about what technology package uses and what and how he is doing. Houdini also does not show the AO and other crap. in the viewport but this does not prevent him entice professionals from may to work with Houdini.

Those who said that my old tablet - you do your homework - find on ebay tablet that supports OGL 2.1 and thus has a screen like the wacom cintiq - and now if you managed to find - look at how much it costs!

In Maya for example, there are several modes viewport - “stabdart” and viewport 2.0 - all new functionality appears in the viewport 2.0 but if you do you just need basic functionality - maya works on any hardware. But there is for example realtime shader that requires a minimum directX11 but that does not mean that you need to limit launching Maya on the cards only DX 11 and above.

Ton - if you think that the OGL 2.1 is vital - do what should - you know better - just have in view - you Deny access to the blender with hundreds of thousands of people with no suitable new laptop,

That is, again, the tone, you’re doing - unreal thing for a long time - what do you thank you very much. And if you think you need to move to 2.1 - so you need to move on.

I agree that OLG 2.1 already old; but you can even
imagine how many old but good notebooks (and many
many many PC’s where using onboard videocards) with
core2duo cpus and 2\4 gigs ram you just throw

overboard blender “ship”.

As i understand render nodes keep working only from
render manager. I can not even open on them some
scene for some changes-only command line
About tablets (motion computing C5 and HP 1100 TC
(info in google) - this is tablets NB just old acer 5220) i
agree - yes they old, but they work good, have wacom
screen’s (like eintiq) and if blender stop support old OGL
i just stick with 2 73 to sculpt practice on these And
from 8 PC’s 2 74 will work only on my main workstation
with updated gpu |
Make restriction on OLG 2.1 you restrict on nvidia
Geforce 6x00 and up - but for onboard video - this is
75% of all card for example on my render nodes who
with Phenom II x6 - radeon 4250HD - these mainboard
from 2012 year and not cheap (GA-880GM-UD2H) and
they for example support DirectX 10.1, Shader 4.0 but
only OGL 2.0 - and if you make hard restriction - an
hardware such like this blender not run. On many users
have notebooks with videocards like this. Not exact like
this But approximately like this
I just bring example of good old hardware (and not old
in example of render node - yes i in 90% cases open
scenes manual there) which may be abandoned Even
3ds max have “software” mode or\and DX9 mode for
compatibiliti with old hardware and if chose them - there
just OFF view port AO and other hardware features
related with gpu - but all general functionality remain
because all of that i am very please - make restriction,
keep OFF features that request OGL 2 1 in 2.74 but do
not restrict launching

#9

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.

(Arnywar) #10

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.

(Jholen) #11

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.

(Pitiwazou) #12

A dev can tell us why not Open GL 4.3 ?

(Psy-Fi) #13

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.

(system) #14

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

(Esparadrapo) #15

It should be updated to an even newer version.

(Psy-Fi) #16

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.

(system) #17

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?

(blurymind) #18

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!

(rdo3) #19

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

(NinthJake) #20

@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.