[osg-users] Modern GLSL and OSG

Garth D garthy_gso at entropicsoftware.com
Sun Sep 27 12:28:50 PDT 2015


Hi Jan,

Thanks again for sharing your thoughts on the subject. :)

On 26/09/15 19:46, Jan Ciger wrote:> On Sat, Sep 26, 2015 at 5:02 AM, 
Garth D
 > <garthy_gso at entropicsoftware.com> wrote:
 >>
 >> My original motivation was to move to using "modern" OpenGL (ie. 
avoiding
 >> anything deprecated) because I didn't want to be in the situation 
where I
 >> started relying on something that was likely to be removed in the 
future.
 >
 > Well, I don't think you need to worry about that too much.

Yeah, I'm pretty-much past this one now. :)

 > Yes, the
 > "old school" OpenGL is marked as deprecated and removed from the Core
 > profiles (and OpenGL ES 2.0 doesn't support it at all). However, at
 > least Nvidia (AMD/Ati probably as well) has declared that they are
 > going to support the legacy profiles for indefinite future.
 >
 > The reason is that the code is already in the driver and costs them
 > essentially nothing (the old APIs don't change) and also the ton of
 > old code that uses it. That's also why the OpenGL 3 was felt to be
 > such a letdown and not a radical departure in a new direction - there
 > are simply too many CAD and visualization companies with decades old
 > codebases that would stop working overnight with a new driver and
 > there is no business willpower to rewrite that because it works well
 > enough. Moreover, I am pretty sure that even today you will find major
 > CAD systems doing atrocities such as using direct mode (glBegin/glEnd)
 > somewhere in their code ...

That certainly makes sense. I had wondered at the time how successful 
the deprecation would be. I could see it being successful if a popular 
compatibility layer library emerged and gained widespread use, but I 
don't think this really happened. This seems to mean that the bulk of 
the compatibility support is instead retained at the driver level, which 
is as you note.

 >> Additionally, I have a need that I know is not going to be handled 
very well
 >> in the fixed-function pipeline. From experience I know that whilst 
the FFP
 >> is neat for simpler tasks, it feels like a massive burden as the 
needs get
 >> more complex.
 >>
 >> A last goal was as a learning exercise. The aim was to rely on shader
 >> functionality a bit more strictly than minimally necessary, as a 
means of
 >> taking care of the glaring (and increasingly hard-to-explain 
professionally)
 >> hole in my 3D knowledge.
 >
 > By all means, that is a good reason. Also if you decide to develop on
 > mobile, you won't have much choice there.

Yes, this is much clearer to me know.

As a side note, I have to say that I am really liking the ability to 
hang Uniforms off arbitrary parts of the scene graph- generally on 
Geometry or Groups depending on the scope that I need the Uniform to 
cover. It's really a very nice design.

Thanks again!

Cheers,
Garth




More information about the osg-users mailing list