OpenGL(ES) features, analyzed based on extensions and version. A single instance of this class is assigned to GLFeatures after the first rendering context was created. If you have multiple rendering contexts, our engine assumes they share resources and have equal features.
|
property EnableFixedFunction: Boolean read FEnableFixedFunction; |
Use OpenGL fixed-function rendering for ancient OpenGL versions on desktops. This rules whole rendering approach.
When this is False , you can be sure that these features are supported (OpenGL API exposes them, they are not detected as "buggy"):
When this is True , you should use ancient fixed-function pipeline for all rendering, without shaders or VBO. In fact, to make it easier, we set Shaders and VertexBufferObject to False in this case (even if in theory one of them could be used, at least in some cases... we don't want to maintain too many alternatives for ancient systems, we want only one path for ancient systems: all modern stuff disabled). This makes Shaders and VertexBufferObject practically useless now: they are always negation of EnabledFixedFunction. And this is OK, it means we have 2 clear approaches to rendering, not a lot of possible combinations to test.
Note that UseMultiTexturing may be True or False when EnableFixedFunction is True . So we still allow the option to support fixed-function with or without multi-texturing.
When this is True :
Note that on OpenGLES, it must be always False , since OpenGLES >= 2 has no fixed-function pipeline, and it guarantees having working shaders and VBO.
|