Difference between revisions of "OpenGL"

From FlightGear wiki
Jump to navigation Jump to search
m (status update)
m (→‎Status: https://sourceforge.net/p/flightgear/mailman/message/37230099/)
 
(2 intermediate revisions by the same user not shown)
Line 6: Line 6:
  
 
== Status ==
 
== Status ==
Last updated: 11/2020
+
Last updated: 03/2021
 +
 
 +
{{Note|It is likely the non-shader code path (fixed-function pipeline) will also go away in the next twelve months (~ early/mid 2022). We tried to communicate this: 2020.3 is the last release that will work on really old hardware: 'next' and future releases will need a more modern machine with an OpenGL 4 / DX12 class GPU.<ref>https://sourceforge.net/p/flightgear/codetickets/2560/#f6f6</ref>}}
  
 
We’re actively going to switch to Core profile, on next, in the coming months: at least that is James' big goal for 2021 development, personally.
 
We’re actively going to switch to Core profile, on next, in the coming months: at least that is James' big goal for 2021 development, personally.
Line 15: Line 17:
  
 
That would imply 2020.3 is the last OpenGL 2.x / non-shader release, but James also suspects on plenty of lower-spec machines, using OpenGL 4 and shaders will give us *better* FPS than our current fixed-function code. Given lower-spec machines have Intel graphics and the Intel drivers are terrible bad at fixed-function.<ref>https://sourceforge.net/p/flightgear/mailman/message/37146847/</ref>
 
That would imply 2020.3 is the last OpenGL 2.x / non-shader release, but James also suspects on plenty of lower-spec machines, using OpenGL 4 and shaders will give us *better* FPS than our current fixed-function code. Given lower-spec machines have Intel graphics and the Intel drivers are terrible bad at fixed-function.<ref>https://sourceforge.net/p/flightgear/mailman/message/37146847/</ref>
 +
 +
{{See also|2022.X Release Plan#Rendering}}
  
 
Scott has been working on preparing to make the switch to OpenGL Core Profile <ref>https://sourceforge.net/p/flightgear/mailman/message/37147065/</ref>:
 
Scott has been working on preparing to make the switch to OpenGL Core Profile <ref>https://sourceforge.net/p/flightgear/mailman/message/37147065/</ref>:
Line 20: Line 24:
 
* Disable (a.k.a hack) SG/FG [[FlightGear_and_OpenGL_ES#Affected_features_and_sources|features requiring compatibility profile]] {{Done}}
 
* Disable (a.k.a hack) SG/FG [[FlightGear_and_OpenGL_ES#Affected_features_and_sources|features requiring compatibility profile]] {{Done}}
 
* Review GLSL shaders to identify where changes are required - {{Done}}
 
* Review GLSL shaders to identify where changes are required - {{Done}}
* Refactor GLSL shaders  {{Progressbar|90}}
+
* Refactor GLSL shaders  {{Progressbar|90}} <ref>https://sourceforge.net/p/flightgear/mailman/message/37230099/</ref>
  
 
== Related content ==
 
== Related content ==

Latest revision as of 21:01, 2 March 2021

OpenGL (Open Graphics Library) is a graphics API used by FlightGear. It was developed by Silicon Graphics and first released in 1992.

Currently FlightGear requires OpenGL 1.2, but more likely 2.0, and recommends 2.1 or above.

Status

Last updated: 03/2021

Note  It is likely the non-shader code path (fixed-function pipeline) will also go away in the next twelve months (~ early/mid 2022). We tried to communicate this: 2020.3 is the last release that will work on really old hardware: 'next' and future releases will need a more modern machine with an OpenGL 4 / DX12 class GPU.[1]

We’re actively going to switch to Core profile, on next, in the coming months: at least that is James' big goal for 2021 development, personally.

Maybe not getting as far as Vulkan/VSG (it would be nice but a lot more work….) but certainly getting our use of the OSG API as modern as possible, and getting the shaders into a OpenGL 4.x variant. (Eg, if MoltenGL can host us, that would be good for macOS…)

James would expect as a result of that, we would require OpenGL 4.1 or 4.2 on next: we could do 3.3 at a push but why bother? Apple supports 4.2 [1] and everyone else can update their drivers. Writing clean shaders will be so much easier if we can rely on 4.2 features as a baseline.

That would imply 2020.3 is the last OpenGL 2.x / non-shader release, but James also suspects on plenty of lower-spec machines, using OpenGL 4 and shaders will give us *better* FPS than our current fixed-function code. Given lower-spec machines have Intel graphics and the Intel drivers are terrible bad at fixed-function.[2]

Scott has been working on preparing to make the switch to OpenGL Core Profile [3]:

Related content

External links

References

References