Educate me: fixed function vs programmable pipeple in OpenGL

Not about OpenMW? Just about Morrowind in general? Have some random babble? Kindly direct it here.
User avatar
wareya
Posts: 338
Joined: 09 May 2015, 13:07

Re: Educate me: fixed function vs programmable pipeple in OpenGL

Post by wareya »

Almost everything people are still running supports GL3.3 these days. For the few people who are running old hardware that doesn't support 3.3, you can just fall back to 2.1 with a reduced featureset. Any 2.1-only devices are going to be weak and potentially buggy anyways.
User avatar
psi29a
Posts: 5356
Joined: 29 Sep 2011, 10:13
Location: Belgium
Gitlab profile: https://gitlab.com/psi29a/
Contact:

Re: Educate me: fixed function vs programmable pipeple in OpenGL

Post by psi29a »

AnyOldName3 wrote: 01 May 2019, 23:33 If we go shader-only, that'll make some things much easier going forward, but we'll stop supporting a chunk of hardware that people still use. It'll also make some things harder as OSG won't magically do them for us any more.
It was the intention, last time I talked with Scrawl and Zini, that we wanted to have OpenMW 1.0 be able to run on old hardware, such as those running Morrowind back in the day... that has been fudged a bit lately. The idea being that post 1.0, we could really remove that limitation and go full tilt modern graphics.

OpenMW, for example, runs (just barely) on RPi, however I think it is really absurd to make that a target platform. I'm not opposed to dropping the OpenGL 2.1 requirement, it is not stated in our FAQ or anywhere else that it was a hard requirement... just a nice to have (could run on almost everything).
User avatar
wareya
Posts: 338
Joined: 09 May 2015, 13:07

Re: Educate me: fixed function vs programmable pipeple in OpenGL

Post by wareya »

You can still target 2.1 without targeting obscure low-power devices like the rpi. Just say that it might not work on extremely weak hardware.
User avatar
AnyOldName3
Posts: 2668
Joined: 26 Nov 2015, 03:25

Re: Educate me: fixed function vs programmable pipeple in OpenGL

Post by AnyOldName3 »

We don't need to target OpenGL 3 as a minimum to drop FFP support - shaders were a core feature as of 2.0. The big difference to shaders with 3.0 was that they no longer had access to a bunch of uniforms configured automatically by the fixed-function state.

By the way, is the only reason that we use a GLES wrapper rather than OSG built against GLES for the Android version that we're using lots of fixed-function stuff even with force shaders active and need something to translate it to shaders, or were there other limitations?
Chris
Posts: 1625
Joined: 04 Sep 2011, 08:33

Re: Educate me: fixed function vs programmable pipeple in OpenGL

Post by Chris »

AnyOldName3 wrote: 02 May 2019, 15:07 We don't need to target OpenGL 3 as a minimum to drop FFP support - shaders were a core feature as of 2.0. The big difference to shaders with 3.0 was that they no longer had access to a bunch of uniforms configured automatically by the fixed-function state.
Shaders in GL2 don't have all the same functionality as GL3. It's the difference between Shader Model 3 and Shader Model 4 in Direct3D. GL3 represents a fundamental change in how OpenGL is used, that it's not really comparable to being just GL2+no FFP state.
User avatar
AnyOldName3
Posts: 2668
Joined: 26 Nov 2015, 03:25

Re: Educate me: fixed function vs programmable pipeple in OpenGL

Post by AnyOldName3 »

As long as you don't geometry/tessellation/compute shaders, basically everything can be done with old GLSL. It might take a lot more instructions in certain cases, require more things to be set up CPU-side, and more things can result in undefined behaviour, but it's not like old versions were missing anything important that you couldn't write yourself.
Post Reply