Class TGLVersion
Unit
Declaration
type TGLVersion = class(TGenericGLVersion)
Description
This item has no description. Showing description inherited from TGenericGLVersion.
OpenGL(ES) library version information. Determined looking at information from glGetString(GL_VERSION), glGetString(GL_VENDOR) and such.
User code should never create instances of this class. Only use the singleton GLVersion, already initialized for you.
Internally, this should be always created by GLInformationInitialize.
Hierarchy
- TObject
 - TGenericGLVersion
 - TGLVersion
 
Overview
Methods
![]()  | 
constructor Create(const AVersionString, AVendor, ARenderer: string); | 
Properties
![]()  | 
property Vendor: string read FVendor; | 
![]()  | 
property VendorType: TGLVendorType read FVendorType; | 
![]()  | 
property Renderer: string read FRenderer; | 
![]()  | 
property Mesa: boolean read FMesa; | 
![]()  | 
property VendorMajor: Integer read FVendorMajor; | 
![]()  | 
property VendorMinor: Integer read FVendorMinor; | 
![]()  | 
property VendorRelease: Integer read FVendorRelease; | 
![]()  | 
property Fglrx: boolean read FFglrx; | 
![]()  | 
property BuggyFBOCubeMap: boolean read FBuggyFBOCubeMap; | 
![]()  | 
property BuggyGenerateCubeMap: boolean read FBuggyGenerateCubeMap; | 
![]()  | 
property BuggyVBO: boolean read FBuggyVBO; | 
![]()  | 
property BuggyFBOMultiSampling: boolean read FBuggyFBOMultiSampling; | 
![]()  | 
property BuggySwapNonStandardViewport: boolean
      read FBuggySwapNonStandardViewport; | 
![]()  | 
property BuggyDepth32: boolean read FBuggyDepth32; | 
![]()  | 
property BuggyGLSLFrontFacing: boolean read FBuggyGLSLFrontFacing; | 
![]()  | 
property BuggyGLSLReadVarying: boolean read FBuggyGLSLReadVarying; | 
![]()  | 
property BuggyTextureSizeAbove2048: Boolean read FBuggyTextureSizeAbove2048; | 
![]()  | 
property BuggyGLSLBumpMappingNumSteps: Boolean read FBuggyGLSLBumpMappingNumSteps; | 
Description
Methods
![]()  | 
constructor Create(const AVersionString, AVendor, ARenderer: string); | 
| 
 This item has no description.  | |
Properties
![]()  | 
property Vendor: string read FVendor; | 
| 
 Vendor that created the OpenGL implemenetation. This is just glGetString(GL_VENDOR).  | |
![]()  | 
property VendorType: TGLVendorType read FVendorType; | 
| 
 Vendor type, derived from Vendor string.  | |
![]()  | 
property Renderer: string read FRenderer; | 
| 
 Renderer (GPU model, or software method used for rendering) of the OpenGL. This is just glGetString(GL_RENDERER).  | |
![]()  | 
property Mesa: boolean read FMesa; | 
| 
 Are we using Mesa (http://mesa3d.org/). Note that this is detected using VendorVersion, not Vendor.  | |
![]()  | 
property VendorMajor: Integer read FVendorMajor; | 
| 
 Vendor-specific drivers version. Right now this is detected for Mesa and Intel.  | |
![]()  | 
property VendorMinor: Integer read FVendorMinor; | 
| 
 This item has no description.  | |
![]()  | 
property VendorRelease: Integer read FVendorRelease; | 
| 
 This item has no description.  | |
![]()  | 
property Fglrx: boolean read FFglrx; | 
| 
 ATI GPU with ATI drivers on Linux.  | |
![]()  | 
property BuggyGenerateCubeMap: boolean read FBuggyGenerateCubeMap; | 
| 
 Buggy generation of cube maps at all (Intel(Windows) bug). Symptoms: Parts of the cube map texture are uninitialized (left magenta). Reproducible with castle-model-viewer on demo_models/cube_environment_mapping/cubemap_generated_in_dynamic_world.x3dv . This is worse than BuggyFBOCubeMap, magenta is always seen at positiveX part of the cube map. Observed, and this workaround is needed, at least on: 
  | |
![]()  | 
property BuggyVBO: boolean read FBuggyVBO; | 
| 
 Buggy VBO (Intel(Windows) bug).  | |
![]()  | 
property BuggySwapNonStandardViewport: boolean
      read FBuggySwapNonStandardViewport; | 
| 
 Buggy swap buffers when glViewport does not contain whole window (ATI(Linux) bug).  | |
![]()  | 
property BuggyDepth32: boolean read FBuggyDepth32; | 
| 
 Buggy 32-bit depth buffer, 24-bit depth buffer works Ok (Mesa on ATI (Linux) bug).  | |
![]()  | 
property BuggyGLSLReadVarying: boolean read FBuggyGLSLReadVarying; | 
| 
 Do not read varying values in vertex shader, treat them as write-only.  | |
![]()  | 
property BuggyTextureSizeAbove2048: Boolean read FBuggyTextureSizeAbove2048; | 
| 
 MaxTextureSize above 2048 shall not be trusted.  | |
![]()  | 
property BuggyGLSLBumpMappingNumSteps: Boolean read FBuggyGLSLBumpMappingNumSteps; | 
| 
 Buggy num_steps value in bmSteepParallax and bmSteepParallaxShadowing BumpMapping modes on Adreno mobile GPU's (random crashes, sometimes variable in shader has wrong value. Observed on: - Xiaomi Mi 10 Lite (M2002J9G), Snapdragon 765G, Adreno 620: - Motorola Moto G8 (XT2045-2), Snapdragon 665, Adreno 610 - Motorola Moto G7 Plus (XT2081-2), Snapdragon 460, Adreno 610 - Xiaomi Redmi Note 8, Snapdragon 665, Adreno 610 - Xiaomi Redmi Note 7A Snapdragon 439, Adreno 505 More info in comment TGLVersion.Create(). It can be tested by https://github.com/and3md/castle-adreno-tests  | |
Generated by PasDoc 0.16.0-snapshot.
