Class TGLVersion
Unit
Declaration
type TGLVersion = class(TGenericGLVersion)
Description
OpenGL(ES) library version information.
As obtained from glGetString(GL_VERSION), glGetString(GL_VENDOR) and similar routines.
This is usually created by CastleGLUtils.GLInformationInitialize.
Hierarchy
- TObject
- TGenericGLVersion
- TGLVersion
Overview
Methods
constructor Create(const VersionString, 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 BuggyGenerateMipmap: boolean read FBuggyGenerateMipmap; |
|
property BuggyFBOCubeMap: boolean read FBuggyFBOCubeMap; |
|
property BuggyGenerateCubeMap: boolean read FBuggyGenerateCubeMap; |
|
property BuggyLightModelTwoSide: boolean read FBuggyLightModelTwoSide; |
|
property BuggyLightModelTwoSideMessage: string read FBuggyLightModelTwoSideMessage; |
|
property BuggyVBO: boolean read FBuggyVBO; |
|
property BuggyShaderShadowMap: boolean read FBuggyShaderShadowMap; |
|
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 BuggyPureShaderPipeline: boolean read FBuggyPureShaderPipeline; |
|
property BuggyTextureSizeAbove2048: Boolean read FBuggyTextureSizeAbove2048; |
|
property BuggyGLSLBumpMappingNumSteps: Boolean read FBuggyGLSLBumpMappingNumSteps; |
Description
Methods
constructor Create(const VersionString, AVendor, ARenderer: string); |
|
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; |
|
property VendorRelease: Integer read FVendorRelease; |
|
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 view3dscene 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 BuggyLightModelTwoSide: boolean read FBuggyLightModelTwoSide; |
|
Buggy GL_LIGHT_MODEL_TWO_SIDE = GL_TRUE behavior (ATI(Linux) bug). See [https://sourceforge.net/apps/phpbb/vrmlengine/viewtopic.php?f=3&t=14] |
property BuggyLightModelTwoSideMessage: string read FBuggyLightModelTwoSideMessage; |
|
property BuggyVBO: boolean read FBuggyVBO; |
|
Buggy VBO (Intel(Windows) bug). |
property BuggyShaderShadowMap: boolean read FBuggyShaderShadowMap; |
|
Buggy shadow2DProj in some situations (ATI(Linux) 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 BuggyPureShaderPipeline: boolean read FBuggyPureShaderPipeline; |
|
Various problems when trying to use shaders to render everything. See https://github.com/castle-engine/view3dscene/issues/6#issuecomment-362826781 |
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.