OooglesOoogles Units Class Hierarchy Classes, Interfaces, Objects and Records Types Variables Constants Functions and Procedures Identifiers License |
Class gl
Unit
Neslib.Ooogles
Declaration
type gl = class(TObject)
Description
Static class (or namespace) for OpenGL APIs that are not tied to a specific object.
Hierarchy
Overview
Methods
 |
class function GetError: TGLError; inline; static; |
 |
class procedure Viewport(const ALeft, ABottom, AWidth, AHeight: Integer); overload; inline; static; |
 |
class procedure Viewport(const AWidth, AHeight: Integer); overload; inline; static; |
 |
class procedure GetViewport(out ALeft, ABottom, AWidth, AHeight: Integer); inline; static; |
 |
class procedure GetMaxViewportDimensions(out AMaxWidth, AMaxHeight: Integer); inline; static; |
 |
class procedure DepthRange(const ANearVal, AFarVal: Single); inline; static; |
 |
class procedure GetDepthRange(out ANearVal, AFarVal: Single); inline; static; |
 |
class procedure ClearColor(const ARed, AGreen, ABlue, AAlpha: Single); overload; inline; static; |
 |
class procedure ClearColor(const AColor: TVector4); overload; inline; static; |
 |
class function GetClearColor: TVector4; inline; static; |
 |
class procedure ColorMask(const ARed, AGreen, ABlue, AAlpha: Boolean); inline; static; |
 |
class procedure GetColorMask(out ARed, AGreen, ABlue, AAlpha: Boolean); inline; static; |
 |
class procedure ClearDepth(const ADepth: Single); inline; static; |
 |
class function GetClearDepth: Single; inline; static; |
 |
class procedure DepthMask(const AEnable: Boolean); inline; static; |
 |
class function GetDepthMask: Boolean; inline; static; |
 |
class procedure ClearStencil(const AIndex: Integer); inline; static; |
 |
class function GetClearStencil: Integer; inline; static; |
 |
class procedure StencilMask(const AMask: Cardinal); inline; static; |
 |
class procedure StencilMaskSeparate(const AFace: TGLFace; const AMask: Cardinal); inline; static; |
 |
class function GetStencilWriteMask: Cardinal; inline; static; |
 |
class function GetStencilBackWriteMask: Cardinal; inline; static; |
 |
class procedure Clear(const ABuffers: TGLClearBuffers); inline; static; |
 |
class procedure BlendFunc(const ASrcFactor, ADstFactor: TGLBlendFunc); inline; static; |
 |
class procedure BlendFuncSeparate(const ASrcRgb, ADstRgb, ASrcAlpha, ADstAlpha: TGLBlendFunc); inline; static; |
 |
class function GetBlendSrcRgb: TGLBlendFunc; inline; static; |
 |
class function GetBlendSrcAlpha: TGLBlendFunc; inline; static; |
 |
class function GetBlendDstRgb: TGLBlendFunc; inline; static; |
 |
class function GetBlendDstAlpha: TGLBlendFunc; inline; static; |
 |
class procedure BlendEquation(const AEquation: TGLBlendEquation); inline; static; |
 |
class procedure BlendEquationSeparate(const AEquationRgb, AEquationAlpha: TGLBlendEquation); inline; static; |
 |
class function GetBlendEquationRgb: TGLBlendEquation; inline; static; |
 |
class function GetBlendEquationAlpha: TGLBlendEquation; inline; static; |
 |
class procedure BlendColor(const ARed, AGreen, ABlue, AAlpha: Single); overload; inline; static; |
 |
class procedure BlendColor(const AColor: TVector4); overload; inline; static; |
 |
class function GetBlendColor: TVector4; inline; static; |
 |
class procedure StencilFunc(const AFunc: TGLCompareFunc; const ARef: Integer = 0; const AMask: Cardinal = $FFFFFFFF); inline; static; |
 |
class procedure StencilFuncSeparate(const AFace: TGLFace; const AFunc: TGLCompareFunc; const ARef: Integer = 0; const AMask: Cardinal = $FFFFFFFF); inline; static; |
 |
class function GetStencilFunc: TGLCompareFunc; inline; static; |
 |
class function GetStencilValueMask: Cardinal; inline; static; |
 |
class function GetStencilRef: Integer; inline; static; |
 |
class function GetStencilBackFunc: TGLCompareFunc; inline; static; |
 |
class function GetStencilBackValueMask: Cardinal; inline; static; |
 |
class function GetStencilBackRef: Integer; inline; static; |
 |
class procedure StencilOp( const AStencilFail: TGLStencilOp = TGLStencilOp.Keep; const ADepthFail: TGLStencilOp = TGLStencilOp.Keep; const ABothPass: TGLStencilOp = TGLStencilOp.Keep); inline; static; |
 |
class procedure StencilOpSeparate( const AFace: TGLFace; const AStencilFail: TGLStencilOp = TGLStencilOp.Keep; const ADepthFail: TGLStencilOp = TGLStencilOp.Keep; const ABothPass: TGLStencilOp = TGLStencilOp.Keep); inline; static; |
 |
class function GetStencilFail: TGLStencilOp; inline; static; |
 |
class function GetStencilPassDepthPass: TGLStencilOp; inline; static; |
 |
class function GetStencilPassDepthFail: TGLStencilOp; inline; static; |
 |
class function GetStencilBackFail: TGLStencilOp; inline; static; |
 |
class function GetStencilBackPassDepthPass: TGLStencilOp; inline; static; |
 |
class function GetStencilBackPassDepthFail: TGLStencilOp; inline; static; |
 |
class procedure DepthFunc(const AFunc: TGLCompareFunc); inline; static; |
 |
class function GetDepthFunc: TGLCompareFunc; inline; static; |
 |
class procedure Scissor(const ALeft, ABottom, AWidth, AHeight: Integer); inline; static; |
 |
class procedure GetScissor(out ALeft, ABottom, AWidth, AHeight: Integer); inline; static; |
 |
class procedure SampleCoverage(const AValue: Single; const AInvert: Boolean = False); inline; static; |
 |
class function GetSampleCoverageValue: Single; inline; static; |
 |
class function GetSampleCoverageInvert: Boolean; inline; static; |
 |
class function GetSampleCoverage: Boolean; inline; static; |
 |
class function GetSampleAlphaToCoverage: Boolean; inline; static; |
 |
class procedure DrawArrays(const AType: TGLPrimitiveType; const ACount: Integer); overload; inline; static; |
 |
class procedure DrawArrays(const AType: TGLPrimitiveType; const AFirst, ACount: Integer); overload; inline; static; |
 |
class procedure DrawElements(const AType: TGLPrimitiveType; const AIndices: array of UInt8; const AFirst: Integer = 0; const ACount: Integer = 0); overload; static; |
 |
class procedure DrawElements(const AType: TGLPrimitiveType; const AIndices: TArray<UInt8>; const AFirst: Integer = 0; const ACount: Integer = 0); overload; inline; static; |
 |
class procedure DrawElements(const AType: TGLPrimitiveType; const AIndices: array of UInt16; const AFirst: Integer = 0; const ACount: Integer = 0); overload; static; |
 |
class procedure DrawElements(const AType: TGLPrimitiveType; const AIndices: TArray<UInt16>; const AFirst: Integer = 0; const ACount: Integer = 0); overload; inline; static; |
 |
class procedure DrawElements(const AType: TGLPrimitiveType; const ACount: Integer; const AIndexType: TGLIndexType); overload; inline; static; |
 |
class procedure CullFace(const AMode: TGLFace); inline; static; |
 |
class function GetCullFace: TGLFace; inline; static; |
 |
class procedure FrontFace(const AOrientation: TGLFaceOrientation); inline; static; |
 |
class function GetFrontFace: TGLFaceOrientation; inline; static; |
 |
class procedure LineWidth(const AWidth: Single); inline; static; |
 |
class function GetLineWidth: Single; inline; static; |
 |
class procedure PolygonOffset(const AFactor, AUnits: Single); inline; static; |
 |
class function GetPolygonOffsetFactor: Single; inline; static; |
 |
class function GetPolygonOffsetUnits: Single; inline; static; |
 |
class procedure PixelStore(const AMode: TGLPixelStoreMode; const AValue: TGLPixelStoreValue); inline; static; |
 |
class function GetPixelStore(const AMode: TGLPixelStoreMode): TGLPixelStoreValue; inline; static; |
 |
class procedure GetAliasedLineWidthRange(out AMin, AMax: Single); inline; static; |
 |
class procedure GetAliasedPointSizeRange(out AMin, AMax: Single); inline; static; |
 |
class procedure Enable(const ACapability: TGLCapability); inline; static; |
 |
class procedure Disable(const ACapability: TGLCapability); inline; static; |
 |
class function IsEnabled(const ACapability: TGLCapability): Boolean; inline; static; |
 |
class procedure Finish; inline; static; |
 |
class procedure Flush; inline; static; |
 |
class function GetSubpixelBits: Integer; inline; static; |
 |
class function GetVendor: RawByteString; inline; static; |
 |
class function GetRenderer: RawByteString; inline; static; |
 |
class function GetVersion: RawByteString; inline; static; |
 |
class function GetShadingLanguageVersion: RawByteString; inline; static; |
 |
class function GetExtensions: RawByteString; inline; static; |
Description
Methods
 |
class function GetError: TGLError; inline; static; |
Returns the last error that happened. You usually don't need to call this method yourself since all OpenGL calls are error checked automatically when compiling in DEBUG mode with Assertions enabled.
OpenGL API: glGetError
Returns
The last error that happened. |
 |
class procedure Viewport(const ALeft, ABottom, AWidth, AHeight: Integer); overload; inline; static; |
 |
class procedure Viewport(const AWidth, AHeight: Integer); overload; inline; static; |
Set the viewport.
When a GL context is first attached to a window, width and height are set to the dimensions of that window.
This method specifies the affine transformation of X and Y from normalized device coordinates to window coordinates.
Viewport width and height are silently clamped to a range that depends on the implementation. To query this range, call GetMaxViewportDimensions.
OpenGL API: glViewport
Parameters
- ALeft
- (optional) X-coordinate of the lower left corner of the viewport rectangle, in pixels. The initial value is 0.
- ABottom
- (optional) Y-coordinate of the lower left corner of the viewport rectangle, in pixels. The initial value is 0.
- AWidth
- width of the viewport.
- AHeight
- height of the viewport.
Exceptions raised
TGLError.InvalidValue
- if either AWidth or AHeight is negative.
See also
- GetViewport
- Returns the current viewport.
- GetMaxViewportDimensions
- Returns the maximum supported width and height of the viewport.
|
 |
class procedure GetViewport(out ALeft, ABottom, AWidth, AHeight: Integer); inline; static; |
Returns the current viewport. Initially the ALeft and ABottom window coordinates are both set to 0, and AWidth and AHeight are set to the width and height of the window into which the GL will do its rendering.
OpenGL API: glGetIntegerv(GL_VIEWPORT)
See also
- Viewport
|
 |
class procedure GetMaxViewportDimensions(out AMaxWidth, AMaxHeight: Integer); inline; static; |
Returns the maximum supported width and height of the viewport. These must be at least as large as the visible dimensions of the display being rendered to.
OpenGL API: glGetIntegerv(GL_MAX_VIEWPORT_DIMS)
See also
- Viewport
|
 |
class procedure DepthRange(const ANearVal, AFarVal: Single); inline; static; |
Specify mapping of depth values from normalized device coordinates to window coordinates.
After clipping and division by W, depth coordinates range from -1 to 1, corresponding to the near and far clipping planes. This method specifies a linear mapping of the normalized depth coordinates in this range to window depth coordinates. Regardless of the actual depth buffer implementation, window coordinate depth values are treated as though they range from 0 through 1 (like color components). Thus, the values accepted by DepthRange are both clamped to this range before they are accepted.
The setting of (0, 1) maps the near plane to 0 and the far plane to 1. With this mapping, the depth buffer range is fully utilized.
Note: it is not necessary that ANearVal be less than AFarVal. Reverse mappings such as ANearVal = 1, and AFarVal = 0 are acceptable.
OpenGL API: glDepthRangef
Parameters
- ANearValue
- specifies the mapping of the near clipping plane to window coordinates. The initial value is 0.
- AFarValue
- specifies the mapping of the far clipping plane to window coordinates. The initial value is 1.
See also
- GetDepthRange
- Gets the near and far clipping planes.
- DepthFunc
- Specify the value used for depth buffer comparisons.
- PolygonOffset
- Set the scale and units used to calculate polygon depth values.
- Viewport
|
 |
class procedure GetDepthRange(out ANearVal, AFarVal: Single); inline; static; |
Gets the near and far clipping planes.
OpenGL API: glGetFloatv(GL_DEPTH_RANGE)
Parameters
- ANearValue
- is set to the mapping of the near clipping plane.
- AFarValue
- is set to the mapping of the far clipping plane.
See also
- DepthRange
- Specify mapping of depth values from normalized device coordinates to window coordinates.
|
 |
class procedure ClearColor(const ARed, AGreen, ABlue, AAlpha: Single); overload; inline; static; |
Specify clear values used by gl.Clear to clear the color buffers.
All values are clamped to the range 0..1.
OpenGL API: glClearColor
Parameters
- ARed
- red component.
- AGreen
- green component.
- ABlue
- blue component.
- AAlpha
- alpha component.
See also
- Clear
Clear buffers to preset values.
- GetClearColor
- Returns the current color used to clear the color buffers.
|
 |
class procedure ClearColor(const AColor: TVector4); overload; inline; static; |
Specify clear values used by gl.Clear to clear the color buffers.
The R, G, B and A values in AColor are clamped to the range 0..1.
OpenGL API: glClearColor
Parameters
- AColor
- the clear color.
See also
- Clear
Clear buffers to preset values.
- GetClearColor
- Returns the current color used to clear the color buffers.
|
 |
class function GetClearColor: TVector4; inline; static; |
Returns the current color used to clear the color buffers.
OpenGL API: glGetFloatv(GL_COLOR_CLEAR_VALUE)
See also
- ClearColor
- Specify clear values used by gl.Clear to clear the color buffers.
|
 |
class procedure ColorMask(const ARed, AGreen, ABlue, AAlpha: Boolean); inline; static; |
Enable and disable writing of frame buffer color components.
The initial values of the parameters are all True, indicating that the color components can be written.
This method specifies whether the individual color components in the frame buffer can or cannot be written. If red is False, for example, no change is made to the red component of any pixel in any of the color buffers, regardless of the drawing operation attempted.
Changes to individual bits of components cannot be controlled. Rather, changes are either enabled or disabled for entire color components.
OpenGL API: glColorMask
Parameters
- ARed
- whether red can or cannot be written into the frame buffer.
- AGreen
- whether green can or cannot be written into the frame buffer.
- ABlue
- whether blue can or cannot be written into the frame buffer.
- AAlpha
- whether alpha can or cannot be written into the frame buffer.
See also
- GetColorMask
- Get whether writing of frame buffer color components is enabled.
- Clear
Clear buffers to preset values.
- DepthMask
- Enable or disable writing into the depth buffer.
- StencilMask
- Control the front and back writing of individual bits in the stencil planes.
|
 |
class procedure GetColorMask(out ARed, AGreen, ABlue, AAlpha: Boolean); inline; static; |
Get whether writing of frame buffer color components is enabled.
OpenGL API: glGetIntegerv(GL_COLOR_WRITEMASK)
Parameters
- ARed
- is set to True of red can be written. False otherwise.
- AGreen
- is set to True of green can be written. False otherwise.
- ABlue
- is set to True of blue can be written. False otherwise.
- AAlpha
- is set to True of alpha can be written. False otherwise.
See also
- ColorMask
- Enable and disable writing of frame buffer color components.
|
 |
class procedure ClearDepth(const ADepth: Single); inline; static; |
Specify the clear value used by gl.Clear to clear the depth buffer.
OpenGL API: glClearDepthf/glClearDepth
Parameters
- ADepth
- the depth value used when the depth buffer is cleared. The initial value is 1. The value is clamped to the range 0..1.
See also
- Clear
Clear buffers to preset values.
- GetClearDepth
- Gets the current clear depth value.
|
 |
class function GetClearDepth: Single; inline; static; |
Gets the current clear depth value.
OpenGL API: glGetFloatv(GL_DEPTH_CLEAR_VALUE)
Returns
The current clear depth value. See also
- ClearDepth
- Specify the clear value used by gl.Clear to clear the depth buffer.
|
 |
class procedure DepthMask(const AEnable: Boolean); inline; static; |
Enable or disable writing into the depth buffer.
OpenGL API: glDepthMask
Parameters
- AEnable
- specifies whether the depth buffer is enabled for writing. If False, depth buffer writing is disabled. Otherwise, it is enabled. Initially, depth buffer writing is enabled.
See also
- GetDepthMask
- Checks whether writing into the depth buffer is enabled.
- ColorMask
- Enable and disable writing of frame buffer color components.
- DepthFunc
- Specify the value used for depth buffer comparisons.
- DepthRange
- Specify mapping of depth values from normalized device coordinates to window coordinates.
- StencilMask
- Control the front and back writing of individual bits in the stencil planes.
|
 |
class function GetDepthMask: Boolean; inline; static; |
Checks whether writing into the depth buffer is enabled.
OpenGL API: glGetIntegerv(GL_DEPTH_WRITEMASK)
Returns
True if writing into the depth buffer is enabled. False otherwise. See also
- DepthMask
- Enable or disable writing into the depth buffer.
|
 |
class procedure ClearStencil(const AIndex: Integer); inline; static; |
Specify the index value used by gl.Clear to clear the stencil buffer.
OpenGL API: glClearStencil
Parameters
- AIndex
- the index used when the stencil buffer is cleared. The initial value is 0. Only the lowest TGLFramebuffer.GetStencilBits bits of the index are used.
See also
- Clear
Clear buffers to preset values.
- GetClearStencil
- Returns the index to which the stencil bitplanes are cleared.
- TGLFramebuffer.GetStencilBits
- Get the number of bitplanes in the stencil buffer of the framebuffer.
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
- StencilMask
- Control the front and back writing of individual bits in the stencil planes.
- StencilMaskSeparate
- Control the front and/or back writing of individual bits in the stencil planes.
- StencilOp
- Set front and back stencil test actions.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class function GetClearStencil: Integer; inline; static; |
Returns the index to which the stencil bitplanes are cleared. The initial value is 0.
OpenGL API: glGetIntegerv(GL_STENCIL_CLEAR_VALUE)
See also
- ClearStencil
- Specify the index value used by gl.Clear to clear the stencil buffer.
|
 |
class procedure StencilMask(const AMask: Cardinal); inline; static; |
Control the front and back writing of individual bits in the stencil planes.
StencilMask controls the writing of individual bits in the stencil planes. The least significant n bits of AMask, where n is the number of bits in the stencil buffer, specify a mask. Where a 1 appears in the mask, it's possible to write to the corresponding bit in the stencil buffer. Where a 0 appears, the corresponding bit is write-protected. Initially, all bits are enabled for writing.
There can be two separate mask writemasks; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. StencilMask sets both front and back stencil writemasks to the same values. Use StencilMaskSeparate to set front and back stencil writemasks to different values.
Note: StencilMask is the same as calling gl.StencilMaskSeparate with face set to FrontAndBack.
OpenGL API: glStencilMask
Parameters
- AMask
- specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.
See also
- GetStencilWriteMask
- Get the mask that controls writing of the stencil bitplanes for front-facing polygons and non-polygons.
- GetStencilBackWriteMask
- Get the mask that controls writing of the stencil bitplanes for back-facing polygons.
- TGLFramebuffer.GetStencilBits
- Get the number of bitplanes in the stencil buffer of the framebuffer.
- ColorMask
- Enable and disable writing of frame buffer color components.
- DepthMask
- Enable or disable writing into the depth buffer.
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
- StencilMaskSeparate
- Control the front and/or back writing of individual bits in the stencil planes.
- StencilOp
- Set front and back stencil test actions.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class procedure StencilMaskSeparate(const AFace: TGLFace; const AMask: Cardinal); inline; static; |
Control the front and/or back writing of individual bits in the stencil planes.
See StencilMask for more details.
OpenGL API: glStencilMaskSeparate
Parameters
- AFace
- specifies whether front and/or back stencil writemask is updated.
- AMask
- specifies a bit mask to enable and disable writing of individual bits in the stencil planes. Initially, the mask is all 1's.
See also
- GetStencilWriteMask
- Get the mask that controls writing of the stencil bitplanes for front-facing polygons and non-polygons.
- GetStencilBackWriteMask
- Get the mask that controls writing of the stencil bitplanes for back-facing polygons.
- TGLFramebuffer.GetStencilBits
- Get the number of bitplanes in the stencil buffer of the framebuffer.
- ColorMask
- Enable and disable writing of frame buffer color components.
- DepthMask
- Enable or disable writing into the depth buffer.
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
- StencilMask
- Control the front and back writing of individual bits in the stencil planes.
- StencilOp
- Set front and back stencil test actions.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class function GetStencilWriteMask: Cardinal; inline; static; |
Get the mask that controls writing of the stencil bitplanes for front-facing polygons and non-polygons. The initial value is all 1's.
OpenGL API: glGetIntegerv(GL_STENCIL_WRITEMASK)
See also
- StencilMask
- Control the front and back writing of individual bits in the stencil planes.
- StencilMaskSeparate
- Control the front and/or back writing of individual bits in the stencil planes.
|
 |
class function GetStencilBackWriteMask: Cardinal; inline; static; |
Get the mask that controls writing of the stencil bitplanes for back-facing polygons. The initial value is all 1's.
OpenGL API: glGetIntegerv(GL_STENCIL_BACK_WRITEMASK)
See also
- StencilMask
- Control the front and back writing of individual bits in the stencil planes.
- StencilMaskSeparate
- Control the front and/or back writing of individual bits in the stencil planes.
|
 |
class procedure BlendFunc(const ASrcFactor, ADstFactor: TGLBlendFunc); inline; static; |
Specify pixel arithmetic using blend functions.
Pixels can be drawn using a function that blends the incoming (source) RGBA values with the RGBA values that are already in the frame buffer (the destination values). Blending is initially disabled. Use Enable and Disable with argument TGLCapability.Blend to enable and disable blending.
BlendFunc defines the operation of blending when it is enabled. ASrcFactor specifies which method is used to scale the source color components. ADstFactor specifies which method is used to scale the destination color components. See TGLBlendFunc for a description of the possible operations.
Note: incoming (source) alpha is correctly thought of as a material opacity, ranging from 1.0, representing complete opacity, to 0.0, representing complete transparency.
Note: transparency is best implemented using blend function (SrcAlpha, OneMinusSrcAlpha) with primitives sorted from farthest to nearest. Note that this transparency calculation does not require the presence of alpha bitplanes in the frame buffer.
OpenGL API: glBlendFunc
Parameters
- ASrcFactor
- specifies how the red, green, blue, and alpha source blending factors are computed. The initial value is One.
- ADstFactor
- specifies how the red, green, blue, and alpha destination blending factors are computed. The initial value is Zero.
See also
- GetBlendSrcRgb
- Gets the current RGB source blend function.
- GetBlendSrcAlpha
- Gets the current alpha source blend function.
- GetBlendDstRgb
- Gets the current RGB destination blend function.
- GetBlendDstAlpha
- Gets the current alpha destination blend function.
- BlendColor
- Set the blend color.
- BlendEquation
- Specify the equation used for both the RGB blend equation and the Alpha blend equation.
- BlendEquationSeparate
- Set the RGB blend equation and the alpha blend equation separately.
- Clear
Clear buffers to preset values.
- Enable
Enable a server-side GL capability.
- StencilFunc
- Set front and back function and reference value for stencil testing.
- BlendFuncSeparate
- Specify pixel arithmetic for RGB and alpha components separately.
|
 |
class procedure BlendFuncSeparate(const ASrcRgb, ADstRgb, ASrcAlpha, ADstAlpha: TGLBlendFunc); inline; static; |
Specify pixel arithmetic for RGB and alpha components separately.
Pixels can be drawn using a function that blends the incoming (source) RGBA values with the RGBA values that are already in the frame buffer (the destination values). Blending is initially disabled. Use Enable and Disable with argument TGLCapability.Blend to enable and disable blending.
BlendFuncSeparate defines the operation of blending when it is enabled. ASrcRgb specifies which method is used to scale the source RGB-color components. ADstRGB specifies which method is used to scale the destination RGB-color components. Likewise, ASrcAlpha specifies which method is used to scale the source alpha color component, and ADstAlpha specifies which method is used to scale the destination alpha component. See TGLBlendFunc for a description of the possible operations.
Note: incoming (source) alpha is correctly thought of as a material opacity, ranging from 1.0, representing complete opacity, to 0.0, representing complete transparency.
OpenGL API: glBlendFuncSeparate
Parameters
- ASrcRgb
- specifies how the red, green and blue source blending factors are computed. The initial value is One.
- ADstRgb
- specifies how the red, green and blue destination blending factors are computed. The initial value is Zero.
- ASrcAlpha
- specifies how the alpha source blending factor is computed. The initial value is One.
- ADstAlpha
- specifies how the alpha destination blending factor is computed. The initial value is Zero.
See also
- GetBlendSrcRgb
- Gets the current RGB source blend function.
- GetBlendSrcAlpha
- Gets the current alpha source blend function.
- GetBlendDstRgb
- Gets the current RGB destination blend function.
- GetBlendDstAlpha
- Gets the current alpha destination blend function.
- BlendColor
- Set the blend color.
- BlendEquation
- Specify the equation used for both the RGB blend equation and the Alpha blend equation.
- BlendEquationSeparate
- Set the RGB blend equation and the alpha blend equation separately.
- Clear
Clear buffers to preset values.
- Enable
Enable a server-side GL capability.
- StencilFunc
- Set front and back function and reference value for stencil testing.
- BlendFunc
- Specify pixel arithmetic using blend functions.
|
 |
class function GetBlendSrcRgb: TGLBlendFunc; inline; static; |
Gets the current RGB source blend function.
OpenGL API: glGetIntegerv(GL_BLEND_SRC_RGB)
Returns
The blend function. See also
- BlendFunc
- Specify pixel arithmetic using blend functions.
- BlendFuncSeparate
- Specify pixel arithmetic for RGB and alpha components separately.
|
 |
class function GetBlendSrcAlpha: TGLBlendFunc; inline; static; |
Gets the current alpha source blend function.
OpenGL API: glGetIntegerv(GL_BLEND_SRC_ALPHA)
Returns
The blend function. See also
- BlendFunc
- Specify pixel arithmetic using blend functions.
- BlendFuncSeparate
- Specify pixel arithmetic for RGB and alpha components separately.
|
 |
class function GetBlendDstRgb: TGLBlendFunc; inline; static; |
Gets the current RGB destination blend function.
OpenGL API: glGetIntegerv(GL_BLEND_DST_RGB)
Returns
The blend function. See also
- BlendFunc
- Specify pixel arithmetic using blend functions.
- BlendFuncSeparate
- Specify pixel arithmetic for RGB and alpha components separately.
|
 |
class function GetBlendDstAlpha: TGLBlendFunc; inline; static; |
Gets the current alpha destination blend function.
OpenGL API: glGetIntegerv(GL_BLEND_DST_ALPHA)
Returns
The blend function. See also
- BlendFunc
- Specify pixel arithmetic using blend functions.
- BlendFuncSeparate
- Specify pixel arithmetic for RGB and alpha components separately.
|
 |
class procedure BlendEquation(const AEquation: TGLBlendEquation); inline; static; |
Specify the equation used for both the RGB blend equation and the Alpha blend equation.
The blend equations determine how a new pixel (the "source" color) is combined with a pixel already in the framebuffer (the "destination" color). This function sets both the RGB blend equation and the alpha blend equation to a single equation.
These equations use the source and destination blend factors specified by either BlendFunc or BlendFuncSeparate. See BlendFunc or BlendFuncSeparate for a description of the various blend factors.
See TGLBlendEquation for a description of the available options. The results of these equations are clamped to the range 0..1.
The Add equation is useful for antialiasing and transparency, among other things.
Initially, both the RGB blend equation and the alpha blend equation are set to Add.
OpenGL API: glBlendEquation
Parameters
- AEquation
- specifies how source and destination colors are combined.
See also
- GetBlendEquationRgb
- Gets the current RGB blend equation.
- GetBlendEquationAlpha
- Gets the current alpha blend equation.
- BlendColor
- Set the blend color.
- BlendEquationSeparate
- Set the RGB blend equation and the alpha blend equation separately.
- BlendFunc
- Specify pixel arithmetic using blend functions.
- BlendFuncSeparate
- Specify pixel arithmetic for RGB and alpha components separately.
|
 |
class procedure BlendEquationSeparate(const AEquationRgb, AEquationAlpha: TGLBlendEquation); inline; static; |
Set the RGB blend equation and the alpha blend equation separately.
The blend equations determine how a new pixel (the "source" color) is combined with a pixel already in the framebuffer (the "destination" color). This function specifies one blend equation for the RGB-color components and one blend equation for the alpha component.
These equations use the source and destination blend factors specified by either BlendFunc or BlendFuncSeparate. See BlendFunc or BlendFuncSeparate for a description of the various blend factors.
See TGLBlendEquation for a description of the available options. The results of these equations are clamped to the range 0..1.
The Add equation is useful for antialiasing and transparency, among other things.
Initially, both the RGB blend equation and the alpha blend equation are set to Add.
OpenGL API: glBlendEquation
Parameters
- AEquationRgb
- specifies how the red, green, and blue components of the source and destination colors are combined.
- AEquationAlpha
- specifies how the alpha component of the source and destination colors are combined
See also
- GetBlendEquationRgb
- Gets the current RGB blend equation.
- GetBlendEquationAlpha
- Gets the current alpha blend equation.
- BlendColor
- Set the blend color.
- BlendEquation
- Specify the equation used for both the RGB blend equation and the Alpha blend equation.
- BlendFunc
- Specify pixel arithmetic using blend functions.
- BlendFuncSeparate
- Specify pixel arithmetic for RGB and alpha components separately.
|
 |
class function GetBlendEquationRgb: TGLBlendEquation; inline; static; |
Gets the current RGB blend equation.
OpenGL API: glGetIntegerv(GL_BLEND_EQUATION_RGB)
Returns
The blend equation. See also
- BlendEquation
- Specify the equation used for both the RGB blend equation and the Alpha blend equation.
- BlendEquationSeparate
- Set the RGB blend equation and the alpha blend equation separately.
|
 |
class function GetBlendEquationAlpha: TGLBlendEquation; inline; static; |
Gets the current alpha blend equation.
OpenGL API: glGetIntegerv(GL_BLEND_EQUATION_ALPHA)
Returns
The blend equation. See also
- BlendEquation
- Specify the equation used for both the RGB blend equation and the Alpha blend equation.
- BlendEquationSeparate
- Set the RGB blend equation and the alpha blend equation separately.
|
 |
class procedure BlendColor(const ARed, AGreen, ABlue, AAlpha: Single); overload; inline; static; |
Set the blend color.
The blend color may be used to calculate the source and destination blending factors. The color components are clamped to the range 0..1 before being stored. See BlendFunc for a complete description of the blending operations. Initially the blend color is set to (0, 0, 0, 0).
OpenGL API: glBlendColor
Parameters
- ARed
- red component.
- AGreen
- green component.
- ABlue
- blue component.
- AAlpha
- alpha component.
See also
- GetBlendColor
- Gets the current blend color.
- BlendEquation
- Specify the equation used for both the RGB blend equation and the Alpha blend equation.
- BlendFunc
- Specify pixel arithmetic using blend functions.
|
 |
class procedure BlendColor(const AColor: TVector4); overload; inline; static; |
Set the blend color.
The blend color may be used to calculate the source and destination blending factors. The color components are clamped to the range 0..1 before being stored. See BlendFunc for a complete description of the blending operations. Initially the blend color is set to (0, 0, 0, 0).
OpenGL API: glBlendColor
Parameters
- AColor
- the blend color.
See also
- GetBlendColor
- Gets the current blend color.
- BlendEquation
- Specify the equation used for both the RGB blend equation and the Alpha blend equation.
- BlendFunc
- Specify pixel arithmetic using blend functions.
|
 |
class function GetBlendColor: TVector4; inline; static; |
Gets the current blend color.
OpenGL API: glGetFloatv(GL_BLEND_COLOR)
Returns
The blend color. See also
- BlendColor
- Set the blend color.
|
 |
class procedure StencilFunc(const AFunc: TGLCompareFunc; const ARef: Integer = 0; const AMask: Cardinal = $FFFFFFFF); inline; static; |
Set front and back function and reference value for stencil testing.
Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. Stencil planes are first drawn into using GL drawing primitives, then geometry and images are rendered using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering.
The stencil test conditionally eliminates a pixel based on the outcome of a comparison between the reference value and the value in the stencil buffer. To enable and disable the test, call gl.Enable and gl.Disable with argument TGLCapability.StencilTest. To specify actions based on the outcome of the stencil test, call gl.StencilOp or gl.StencilOpSeparate.
There can be two separate sets of AFunc, ARef, and AMask parameters; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. StencilFunc sets both front and back stencil state to the same values. Use StencilFuncSeparate to set front and back stencil state to different values.
AFunc is an enum that determines the stencil comparison function. It accepts one of eight values (see TGLCompareFunc).
ARef is an integer reference value that is used in the stencil comparison. It is clamped to the range [0, 2n - 1], where n is the number of bitplanes in the stencil buffer.
AMask is bitwise ANDed with both the reference value and the stored stencil value, with the ANDed values participating in the comparison.
Note: initially, the stencil test is disabled. If there is no stencil buffer, no stencil modification can occur and it is as if the stencil test always passes.
Note: StencilFunc is the same as calling StencilFuncSeparate with AFace set to FrontAndBack.
OpenGL API: glStencilFunc
Parameters
- AFunc
- the test function. Initial value is TGLCompareFunc.Always.
- ARef
- (optional) value that specifies the reference value for the stencil test. ARef is clamped to the range [0, 2n - 1], where n is the number of bitplanes in the stencil buffer. The initial value is 0.
- AMask
- (optional) value that specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's.
See also
- GetStencilFunc
- Get what function is used to compare the stencil reference value with the stencil buffer value for front-facing polygons and non-polygons.
- GetStencilValueMask
- Get the mask that is used to mask both the stencil reference value and the stencil buffer value before they are compared for front-facing polygons and non-polygons.
- GetStencilRef
- Get the reference value that is compared with the contents of the stencil buffer for front-facing polygons and non-polygons.
- GetStencilBackFunc
- Get what function is used for back-facing polygons to compare the stencil reference value with the stencil buffer value.
- GetStencilBackValueMask
- Get the mask that is used for back-facing polygons to mask both the stencil reference value and the stencil buffer value before they are compared.
- GetStencilBackRef
- Get the reference value that is compared with the contents of the stencil buffer for back-facing polygons.
- TGLFramebuffer.GetStencilBits
- Get the number of bitplanes in the stencil buffer of the framebuffer.
- BlendFunc
- Specify pixel arithmetic using blend functions.
- DepthFunc
- Specify the value used for depth buffer comparisons.
- Enable
Enable a server-side GL capability.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
- StencilMask
- Control the front and back writing of individual bits in the stencil planes.
- StencilMaskSeparate
- Control the front and/or back writing of individual bits in the stencil planes.
- StencilOp
- Set front and back stencil test actions.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class procedure StencilFuncSeparate(const AFace: TGLFace; const AFunc: TGLCompareFunc; const ARef: Integer = 0; const AMask: Cardinal = $FFFFFFFF); inline; static; |
Set front and/or back function and reference value for stencil testing.
See StencilFunc for more details.
OpenGL API: glStencilFuncSeparate
Parameters
- AFace
- specifies whether front and/or back stencil state is updated.
- AFunc
- the test function. Initial value is TGLCompareFunc.Always.
- ARef
- (optional) value that specifies the reference value for the stencil test. ARef is clamped to the range [0, 2n - 1], where n is the number of bitplanes in the stencil buffer. The initial value is 0.
- AMask
- (optional) value that specifies a mask that is ANDed with both the reference value and the stored stencil value when the test is done. The initial value is all 1's.
See also
- GetStencilFunc
- Get what function is used to compare the stencil reference value with the stencil buffer value for front-facing polygons and non-polygons.
- GetStencilValueMask
- Get the mask that is used to mask both the stencil reference value and the stencil buffer value before they are compared for front-facing polygons and non-polygons.
- GetStencilRef
- Get the reference value that is compared with the contents of the stencil buffer for front-facing polygons and non-polygons.
- GetStencilBackFunc
- Get what function is used for back-facing polygons to compare the stencil reference value with the stencil buffer value.
- GetStencilBackValueMask
- Get the mask that is used for back-facing polygons to mask both the stencil reference value and the stencil buffer value before they are compared.
- GetStencilBackRef
- Get the reference value that is compared with the contents of the stencil buffer for back-facing polygons.
- TGLFramebuffer.GetStencilBits
- Get the number of bitplanes in the stencil buffer of the framebuffer.
- BlendFunc
- Specify pixel arithmetic using blend functions.
- DepthFunc
- Specify the value used for depth buffer comparisons.
- Enable
Enable a server-side GL capability.
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilMask
- Control the front and back writing of individual bits in the stencil planes.
- StencilMaskSeparate
- Control the front and/or back writing of individual bits in the stencil planes.
- StencilOp
- Set front and back stencil test actions.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class function GetStencilFunc: TGLCompareFunc; inline; static; |
Get what function is used to compare the stencil reference value with the stencil buffer value for front-facing polygons and non-polygons. The initial value is Always.
OpenGL API: glGetIntegerv(GL_STENCIL_FUNC)
See also
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
|
 |
class function GetStencilValueMask: Cardinal; inline; static; |
Get the mask that is used to mask both the stencil reference value and the stencil buffer value before they are compared for front-facing polygons and non-polygons. The initial value is all 1's.
OpenGL API: glGetIntegerv(GL_STENCIL_VALUE_MASK)
See also
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
|
 |
class function GetStencilRef: Integer; inline; static; |
Get the reference value that is compared with the contents of the stencil buffer for front-facing polygons and non-polygons. The initial value is 0.
OpenGL API: glGetIntegerv(GL_STENCIL_REF)
See also
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
|
 |
class function GetStencilBackFunc: TGLCompareFunc; inline; static; |
Get what function is used for back-facing polygons to compare the stencil reference value with the stencil buffer value. The initial value is Always.
OpenGL API: glGetIntegerv(GL_STENCIL_BACK_FUNC)
See also
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
|
 |
class function GetStencilBackValueMask: Cardinal; inline; static; |
Get the mask that is used for back-facing polygons to mask both the stencil reference value and the stencil buffer value before they are compared. The initial value is all 1's.
OpenGL API: glGetIntegerv(GL_STENCIL_BACK_VALUE_MASK)
See also
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
|
 |
class function GetStencilBackRef: Integer; inline; static; |
Get the reference value that is compared with the contents of the stencil buffer for back-facing polygons. The initial value is 0.
OpenGL API: glGetIntegerv(GL_STENCIL_REF)
See also
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
|
 |
class procedure StencilOp( const AStencilFail: TGLStencilOp = TGLStencilOp.Keep; const ADepthFail: TGLStencilOp = TGLStencilOp.Keep; const ABothPass: TGLStencilOp = TGLStencilOp.Keep); inline; static; |
Set front and back stencil test actions.
Stenciling, like depth-buffering, enables and disables drawing on a per-pixel basis. You draw into the stencil planes using GL drawing primitives, then render geometry and images, using the stencil planes to mask out portions of the screen. Stenciling is typically used in multipass rendering algorithms to achieve special effects, such as decals, outlining, and constructive solid geometry rendering.
The stencil test conditionally eliminates a pixel based on the outcome of a comparison between the value in the stencil buffer and a reference value. To enable and disable the test, call gl.Enable and gl.Disable with argument TGLCapability.StencilTest; to control it, call gl.StencilFunc or gl.StencilFuncSeparate.
There can be two separate sets of AStencilFail, ADepthFail and ABothPass parameters; one affects back-facing polygons, and the other affects front-facing polygons as well as other non-polygon primitives. StencilOp sets both front and back stencil state to the same values. Use gl.StencilOpSeparate to set front and back stencil state to different values.
StencilOp takes three arguments that indicate what happens to the stored stencil value while stenciling is enabled. If the stencil test fails, no change is made to the pixel's color or depth buffers, and AStencilFail specifies what happens to the stencil buffer contents.
Stencil buffer values are treated as unsigned integers. When incremented and decremented, values are clamped to 0 and 2n - 1, where n is the value returned by TGLFramebuffer.GetStencilBits.
The other two arguments to StencilOp specify stencil buffer actions that depend on whether subsequent depth buffer tests succeed (ABothPass) or fail (ADepthFail) (see DepthFunc). Note that ADepthFail is ignored when there is no depth buffer, or when the depth buffer is not enabled. In these cases, AStencilFail and ABothPass specify stencil action when the stencil test fails and passes, respectively.
Note: initially the stencil test is disabled. If there is no stencil buffer, no stencil modification can occur and it is as if the stencil tests always pass, regardless of any call to StencilOp .
Note: StencilOp is the same as calling gl.StencilOpSeparate with face set to FrontAndBack.
OpenGL API: glStencilOp
Parameters
- AStencilFail
- (optional) value that specifies the action to take when the stencil test fails. The initial value is Keep.
- ADepthFail
- (optional) value that specifies the action to take when the stencil test passes, but the depth test fails. The initial value is Keep.
- ABothPass
- (optional) value that specifies the action to take when both the stencil test and depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. The initial value is Keep.
See also
- GetStencilFail
- Get what action is taken when the stencil test fails for front-facing polygons and non-polygons.
- GetStencilPassDepthPass
- Get what action is taken when the stencil test passes and the depth test passes for front-facing polygons and non-polygons.
- GetStencilPassDepthFail
- Get what action is taken when the stencil test passes, but the depth test fails for front-facing polygons and non-polygons.
- GetStencilBackFail
- Get what action is taken for back-facing polygons when the stencil test fails.
- GetStencilBackPassDepthPass
- Get what action is taken for back-facing polygons when the stencil test passes and the depth test passes.
- GetStencilBackPassDepthFail
- Get what action is taken for back-facing polygons when the stencil test passes, but the depth test fails.
- TGLFramebuffer.GetStencilBits
- Get the number of bitplanes in the stencil buffer of the framebuffer.
- BlendFunc
- Specify pixel arithmetic using blend functions.
- DepthFunc
- Specify the value used for depth buffer comparisons.
- Enable
Enable a server-side GL capability.
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
- StencilMask
- Control the front and back writing of individual bits in the stencil planes.
- StencilMaskSeparate
- Control the front and/or back writing of individual bits in the stencil planes.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class procedure StencilOpSeparate( const AFace: TGLFace; const AStencilFail: TGLStencilOp = TGLStencilOp.Keep; const ADepthFail: TGLStencilOp = TGLStencilOp.Keep; const ABothPass: TGLStencilOp = TGLStencilOp.Keep); inline; static; |
Set front and/or back stencil test actions.
See StencilOp for more details.
OpenGL API: glStencilOpSeparate
Parameters
- AFace
- specifies whether front and/or back stencil state is updated.
- AStencilFail
- (optional) value that specifies the action to take when the stencil test fails. The initial value is Keep.
- ADepthFail
- (optional) value that specifies the action to take when the stencil test passes, but the depth test fails. The initial value is Keep.
- ABothPass
- (optional) value that specifies the action to take when both the stencil test and depth test pass, or when the stencil test passes and either there is no depth buffer or depth testing is not enabled. The initial value is Keep.
See also
- GetStencilFail
- Get what action is taken when the stencil test fails for front-facing polygons and non-polygons.
- GetStencilPassDepthPass
- Get what action is taken when the stencil test passes and the depth test passes for front-facing polygons and non-polygons.
- GetStencilPassDepthFail
- Get what action is taken when the stencil test passes, but the depth test fails for front-facing polygons and non-polygons.
- GetStencilBackFail
- Get what action is taken for back-facing polygons when the stencil test fails.
- GetStencilBackPassDepthPass
- Get what action is taken for back-facing polygons when the stencil test passes and the depth test passes.
- GetStencilBackPassDepthFail
- Get what action is taken for back-facing polygons when the stencil test passes, but the depth test fails.
- TGLFramebuffer.GetStencilBits
- Get the number of bitplanes in the stencil buffer of the framebuffer.
- BlendFunc
- Specify pixel arithmetic using blend functions.
- DepthFunc
- Specify the value used for depth buffer comparisons.
- Enable
Enable a server-side GL capability.
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilFuncSeparate
- Set front and/or back function and reference value for stencil testing.
- StencilMask
- Control the front and back writing of individual bits in the stencil planes.
- StencilMaskSeparate
- Control the front and/or back writing of individual bits in the stencil planes.
- StencilOp
- Set front and back stencil test actions.
|
 |
class function GetStencilFail: TGLStencilOp; inline; static; |
Get what action is taken when the stencil test fails for front-facing polygons and non-polygons. The initial value is Keep.
OpenGL API: glGetIntegerv(GL_STENCIL_FAIL)
See also
- StencilOp
- Set front and back stencil test actions.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class function GetStencilPassDepthPass: TGLStencilOp; inline; static; |
Get what action is taken when the stencil test passes and the depth test passes for front-facing polygons and non-polygons. The initial value is Keep.
OpenGL API: glGetIntegerv(GL_STENCIL_PASS_DEPTH_PASS)
See also
- StencilOp
- Set front and back stencil test actions.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class function GetStencilPassDepthFail: TGLStencilOp; inline; static; |
Get what action is taken when the stencil test passes, but the depth test fails for front-facing polygons and non-polygons. The initial value is Keep.
OpenGL API: glGetIntegerv(GL_STENCIL_PASS_DEPTH_FAIL)
See also
- StencilOp
- Set front and back stencil test actions.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class function GetStencilBackFail: TGLStencilOp; inline; static; |
Get what action is taken for back-facing polygons when the stencil test fails. The initial value is Keep.
OpenGL API: glGetIntegerv(GL_STENCIL_BACK_FAIL)
See also
- StencilOp
- Set front and back stencil test actions.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class function GetStencilBackPassDepthPass: TGLStencilOp; inline; static; |
Get what action is taken for back-facing polygons when the stencil test passes and the depth test passes. The initial value is Keep.
OpenGL API: glGetIntegerv(GL_STENCIL_BACK_PASS_DEPTH_PASS)
See also
- StencilOp
- Set front and back stencil test actions.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class function GetStencilBackPassDepthFail: TGLStencilOp; inline; static; |
Get what action is taken for back-facing polygons when the stencil test passes, but the depth test fails. The initial value is Keep.
OpenGL API: glGetIntegerv(GL_STENCIL_BACK_PASS_DEPTH_FAIL)
See also
- StencilOp
- Set front and back stencil test actions.
- StencilOpSeparate
- Set front and/or back stencil test actions.
|
 |
class procedure DepthFunc(const AFunc: TGLCompareFunc); inline; static; |
Specify the value used for depth buffer comparisons.
This method specifies the function used to compare each incoming pixel depth value with the depth value present in the depth buffer. The comparison is performed only if depth testing is enabled. (See gl.Enable and gl.Disable of TGLCapability.DepthTest.)
Initially, depth testing is disabled. If depth testing is disabled or no depth buffer exists, it is as if the depth test always passes.
Note: even if the depth buffer exists and the depth mask is non-zero, the depth buffer is not updated if the depth test is disabled.
OpenGL API: glDepthFunc
Parameters
- AFunc
- specifies the depth comparison function. The initial value is TGLCompareFunc.Less.
See also
- GetDepthFunc
- Gets the current depth function.
- Enable
Enable a server-side GL capability.
- DepthRange
- Specify mapping of depth values from normalized device coordinates to window coordinates.
- PolygonOffset
- Set the scale and units used to calculate polygon depth values.
|
 |
class function GetDepthFunc: TGLCompareFunc; inline; static; |
Gets the current depth function.
OpenGL API: glGetIntegerv(GL_DEPTH_FUNC)
Returns
The current depth function. See also
- DepthFunc
- Specify the value used for depth buffer comparisons.
|
 |
class procedure Scissor(const ALeft, ABottom, AWidth, AHeight: Integer); inline; static; |
Define the scissor box.
When a GL context is first attached to a window, the width and height are set to the dimensions of that window.
This method defines a rectangle, called the scissor box, in window coordinates. The first two arguments, ALeft and ABottom, specify the lower left corner of the box. AWidth and AHeight specify the width and height of the box.
To enable and disable the scissor test, call Enable and Disable with TGLCapability.ScissorTest. The test is initially disabled. While the test is enabled, only pixels that lie within the scissor box can be modified by drawing commands. Window coordinates have integer values at the shared corners of frame buffer pixels. Scissor (0, 0, 1, 1) allows modification of only the lower left pixel in the window, and Scissor (0, 0, 0, 0) doesn't allow modification of any pixels in the window.
When the scissor test is disabled, it is as though the scissor box includes the entire window.
OpenGL API: glScissor
Parameters
- ALeft
- X-coordinate of the lower left corner of the
scissor box. The initial value is 0.
- ABottom
- Y-coordinate of the lower left corner of the
scissor box. The initial value is 0.
- AWidth
- width of the
scissor box.
- AHeight
- height of the
scissor box.
Exceptions raised
TGLError.InvalidValue
- if either AWidth or AHeight is negative.
See also
- GetScissor
- Get the current scissor box.
- Enable
Enable a server-side GL capability.
- Viewport
|
 |
class procedure GetScissor(out ALeft, ABottom, AWidth, AHeight: Integer); inline; static; |
Get the current scissor box.
OpenGL API: glGetIntegerv(GL_SCISSOR_BOX)
Parameters
- ALeft
- is set to the X-coordinate of the lower left corner of the scissor box.
- ABottom
- is set to the Y-coordinate of the lower left corner of the scissor box.
- AWidth
- is set to the width of the scissor box.
- AHeight
- is set to the height of the scissor box.
See also
- Scissor
- Define the
scissor box.
|
 |
class procedure SampleCoverage(const AValue: Single; const AInvert: Boolean = False); inline; static; |
Specify multisample coverage parameters.
Multisampling samples a pixel multiple times at various implementation-dependent subpixel locations to generate antialiasing effects. Multisampling transparently antialiases points, lines, and polygons if it is enabled.
AValue is used in constructing a temporary mask used in determining which samples will be used in resolving the final fragment color. This mask is bitwise-anded with the coverage mask generated from the multisampling computation. If the AInvert flag is set, the temporary mask is inverted (all bits flipped) and then the bitwise-and is computed.
If an implementation does not have any multisample buffers available, or multisampling is disabled, rasterization occurs with only a single sample computing a pixel's final RGB color.
Provided an implementation supports multisample buffers, and multisampling is enabled, then a pixel's final color is generated by combining several samples per pixel. Each sample contains color, depth, and stencil information, allowing those operations to be performed on each sample.
OpenGL API: glSampleCoverage
Parameters
- AValue
- sample coverage value. The value is clamped to the range 0..1. The initial value is 1.0.
- AInvert
- (optional) value representing if the coverage masks should be inverted. Defaults to False.
See also
- GetSampleCoverageValue
- Get the current sample coverage value.
- GetSampleCoverageInvert
- Get the current sample coverage invert flag.
- GetSampleAlphaToCoverage
- Get a boolean value indicating if the fragment coverage value should be ANDed with a temporary coverage value based on the fragment's alpha value.
- GetSampleCoverage
- Get a boolean value indicating if the fragment coverage value should be ANDed with a temporary coverage value based on the current sample coverage value.
- TGLFramebuffer.GetSampleBuffers
- Get the number of sample buffers associated with the framebuffer.
- TGLFramebuffer.GetSamples
- Get the coverage mask size of the framebuffer.
- Enable
Enable a server-side GL capability.
|
 |
class function GetSampleCoverageValue: Single; inline; static; |
Get the current sample coverage value.
OpenGL API: glGetFloatv(GL_SAMPLE_COVERAGE_VALUE)
Returns
The current sample coverage value. See also
- SampleCoverage
- Specify multisample coverage parameters.
- GetSampleCoverageInvert
- Get the current sample coverage invert flag.
|
 |
class function GetSampleCoverageInvert: Boolean; inline; static; |
Get the current sample coverage invert flag.
OpenGL API: glGetIntegerv(GL_SAMPLE_COVERAGE_INVERT)
Returns
The current sample coverage invert flag. See also
- SampleCoverage
- Specify multisample coverage parameters.
- GetSampleCoverageValue
- Get the current sample coverage value.
|
 |
class function GetSampleCoverage: Boolean; inline; static; |
Get a boolean value indicating if the fragment coverage value should be ANDed with a temporary coverage value based on the current sample coverage value. The initial value is False.
OpenGL API: glGetIntegerv(GL_SAMPLE_COVERAGE)
See also
- SampleCoverage
- Specify multisample coverage parameters.
|
 |
class function GetSampleAlphaToCoverage: Boolean; inline; static; |
Get a boolean value indicating if the fragment coverage value should be ANDed with a temporary coverage value based on the fragment's alpha value. The initial value is False.
OpenGL API: glGetIntegerv(GL_SAMPLE_ALPHA_TO_COVERAGE)
See also
- SampleCoverage
- Specify multisample coverage parameters.
|
 |
class procedure DrawArrays(const AType: TGLPrimitiveType; const ACount: Integer); overload; inline; static; |
 |
class procedure DrawArrays(const AType: TGLPrimitiveType; const AFirst, ACount: Integer); overload; inline; static; |
Render primitives from array data, without using indices.
DrawArrays specifies multiple geometric primitives with very few subroutine calls. Instead of calling a GL procedure to pass each individual vertex attribute, you can use TGLVertexAttrib to prespecify separate arrays of vertices, normals, and colors and use them to construct a sequence of primitives with a single call to DrawArrays.
When DrawArrays is called, it uses ACount sequential elements from each enabled array to construct a sequence of geometric primitives, beginning with element AFirst. AType specifies what kind of primitives are constructed and how the array elements construct those primitives.
To enable and disable a generic vertex attribute array, call TGLVertexAttrib.Enable and TGLVertexAttrib.Disable.
Note: if the current program object, as set by TGLProgram.Use, is invalid, rendering results are undefined. However, no error is generated for this case.
OpenGL API: glDrawArrays
Parameters
- AType
- specifies what kind of primitives to render.
- AFirst
- (optional) the starting index in the enabled arrays.
- ACount
- the number of elements to be rendered.
Exceptions raised
TGLError.InvalidValue
- if ACount is negative.
TGLError.InvalidFramebufferOperation
- if the currently bound framebuffer is not framebuffer complete.
See also
- TGLFramebuffer.Status
- Return the framebuffer completeness
status .
- TGLVertexAttrib
- Represents a single vertex attribute in a TGLProgram.
- TGLVertexAttrib.Enable
- Enables this vertex attribute.
- TGLVertexAttrib.Disable
- Disables this vertex attribute.
- DrawElements
- Render primitives from array data, using indices from a bound index buffer.
- TGLProgram.Use
- Installs the program object as part of current rendering state.
|
 |
class procedure DrawElements(const AType: TGLPrimitiveType; const AIndices: array of UInt8; const AFirst: Integer = 0; const ACount: Integer = 0); overload; static; |
 |
class procedure DrawElements(const AType: TGLPrimitiveType; const AIndices: TArray<UInt8>; const AFirst: Integer = 0; const ACount: Integer = 0); overload; inline; static; |
 |
class procedure DrawElements(const AType: TGLPrimitiveType; const AIndices: array of UInt16; const AFirst: Integer = 0; const ACount: Integer = 0); overload; static; |
 |
class procedure DrawElements(const AType: TGLPrimitiveType; const AIndices: TArray<UInt16>; const AFirst: Integer = 0; const ACount: Integer = 0); overload; inline; static; |
Render primitives from array data, using supplied indices.
DrawElements specifies multiple geometric primitives with very few subroutine calls. Instead of calling a GL function to pass each vertex attribute, you can use TGLVertexAttrib to prespecify separate arrays of vertex attributes and use them to construct a sequence of primitives with a single call to DrawElements.
When DrawElements is called, it uses AIndices to located vertices in the vertex array. AType specifies what kind of primitives are constructed and how the array elements construct these primitives. If more than one array is enabled, each is used.
To enable and disable a generic vertex attribute array, call TGLVertexAttrib.Enable and TGLVertexAttrib.Disable.
Note: if the current program object, as set by TGLProgram.Use, is invalid, rendering results are undefined. However, no error is generated for this case.
OpenGL API: glDrawElements
Parameters
- AType
- specifies what kind of primitives to render.
- AIndices
- array of indices (of type UInt8 or UInt16).
- AFirst
- (optional) index to the first index in AIndices to use. Defaults to 0.
- ACount
- (optional) number of indices in AIndices to use, starting at AFirst. Defaults to 0 (all remaining indices).
Exceptions raised
TGLError.InvalidFramebufferOperation
- if the currently bound framebuffer is not framebuffer complete.
See also
- TGLFramebuffer.Status
- Return the framebuffer completeness
status .
- TGLVertexAttrib
- Represents a single vertex attribute in a TGLProgram.
- TGLVertexAttrib.Enable
- Enables this vertex attribute.
- TGLVertexAttrib.Disable
- Disables this vertex attribute.
- DrawArrays
- TGLProgram.Use
- Installs the program object as part of current rendering state.
|
 |
class procedure DrawElements(const AType: TGLPrimitiveType; const ACount: Integer; const AIndexType: TGLIndexType); overload; inline; static; |
Render primitives from array data, using indices from a bound index buffer.
DrawElements specifies multiple geometric primitives with very few subroutine calls. Instead of calling a GL function to pass each vertex attribute, you can use TGLVertexAttrib to prespecify separate arrays of vertex attributes and use them to construct a sequence of primitives with a single call to DrawElements .
AType specifies what kind of primitives are constructed and how the array elements construct these primitives. If more than one array is enabled, each is used.
To enable and disable a generic vertex attribute array, call TGLVertexAttrib.Enable and TGLVertexAttrib.Disable.
Note: if the current program object, as set by TGLProgram.Use, is invalid, rendering results are undefined. However, no error is generated for this case.
OpenGL API: glDrawElements
Parameters
- AType
- specifies what kind of primitives to render.
- ACount
- the number of indices used to render.
- AIndexType
- the type of the indices in the bound index buffer. Only 8-bit (UnsignedByte) and 16-bit (UnsignedShort) indices are supported.
Exceptions raised
TGLError.InvalidFramebufferOperation
- if the currently bound framebuffer is not framebuffer complete.
See also
- TGLFramebuffer.Status
- Return the framebuffer completeness
status .
- TGLVertexAttrib
- Represents a single vertex attribute in a TGLProgram.
- TGLVertexAttrib.Enable
- Enables this vertex attribute.
- TGLVertexAttrib.Disable
- Disables this vertex attribute.
- DrawArrays
- TGLProgram.Use
- Installs the program object as part of current rendering state.
|
 |
class procedure CullFace(const AMode: TGLFace); inline; static; |
Specify whether front- or back-facing polygons can be culled.
This method specifies whether front- or back-facing polygons are culled (as specified by AMode) when polygon culling is enabled. Polygon culling is initially disabled. To enable and disable polygon culling, call the gl.Enable and gl.Disable methods with the argument TGLCapability.CullFace.
gl.FrontFace specifies which of the clockwise and counterclockwise polygons are front-facing and back-facing.
Note: if mode is TGLFace.FrontAndBack, no polygons are drawn, but other primitives such as points and lines are drawn.
OpenGL API: glCullFace
Parameters
- AMode
- whether front- or back-facing polygons are candidates for culling.
See also
- GetCullFace
- Gets the current cull face mode.
- Enable
Enable a server-side GL capability.
- Disable
Disable a server-side GL capability.
- IsEnabled
- Checks if a server-side GL capability is enabled.
- FrontFace.
- Define front- and back-facing polygons.
|
 |
class function GetCullFace: TGLFace; inline; static; |
Gets the current cull face mode.
OpenGL API: glGetIntegerv(GL_CULL_FACE_MODE)
Returns
The current cull face mode. See also
- CullFace
- Specify whether front- or back-facing polygons can be culled.
|
 |
class procedure FrontFace(const AOrientation: TGLFaceOrientation); inline; static; |
Define front- and back-facing polygons.
In a scene composed entirely of opaque closed surfaces, back-facing polygons are never visible. Eliminating these invisible polygons has the obvious benefit of speeding up the rendering of the image. To enable and disable elimination of back-facing polygons, call gl.Enable and gl.Disable with argument TGLCapability.CullFace.
The projection of a polygon to window coordinates is said to have clockwise winding if an imaginary object following the path from its first vertex, its second vertex, and so on, to its last vertex, and finally back to its first vertex, moves in a clockwise direction about the interior of the polygon. The polygon's winding is said to be counterclockwise if the imaginary object following the same path moves in a counterclockwise direction about the interior of the polygon. glFrontFace specifies whether polygons with clockwise winding in window coordinates, or counterclockwise winding in window coordinates, are taken to be front-facing. Passing TGLFaceOrientation.CounterClockwise selects counterclockwise polygons as front-facing; TGLFaceOrientation.Clockwise selects clockwise polygons as front-facing. By default, counterclockwise polygons are taken to be front-facing.
OpenGL API: glFrontFace
Parameters
- AOrientation
- the orientation of front-facing polygons. Initial value is TGLFaceOrientation.CounterClockwise.
See also
- GetFrontFace
- Gets the current front face orientation.
- Enable
Enable a server-side GL capability.
- Disable
Disable a server-side GL capability.
- IsEnabled
- Checks if a server-side GL capability is enabled.
- CullFace.
- Specify whether front- or back-facing polygons can be culled.
|
 |
class function GetFrontFace: TGLFaceOrientation; inline; static; |
Gets the current front face orientation.
OpenGL API: glGetIntegerv(GL_FRONT_FACE)
Returns
The current front face orientation. See also
- FrontFace
- Define front- and back-facing polygons.
|
 |
class procedure LineWidth(const AWidth: Single); inline; static; |
Specify the width of rasterized lines.
The actual width is determined by rounding the supplied width to the nearest integer. (If the rounding results in the value 0, it is as if the line width were 1.)
There is a range of supported line widths. Only width 1 is guaranteed to be supported; others depend on the implementation. To query the range of supported widths, call GetAliasedLineWidthRange.
Note: the line width specified by LineWidth is always returned when GetLineWidth is queried. Clamping and rounding have no effect on the specified value.
OpenGL API: glLineWidth
Parameters
- AWidth
- the width of rasterized lines. The initial value is 1.
Exceptions raised
TGLError.InvalidValue
- if AWidth is less than or equal to 0.
See also
- GetLineWidth
- Get the current line width.
- GetAliasedLineWidthRange
- Gets the smallest and largest supported widths for aliased lines.
- Enable
Enable a server-side GL capability.
|
 |
class function GetLineWidth: Single; inline; static; |
Get the current line width.
OpenGL API: glGetFloatv(GL_LINE_WIDTH)
Returns
The current line width. See also
- LineWidth
- Specify the width of rasterized lines.
|
 |
class procedure PolygonOffset(const AFactor, AUnits: Single); inline; static; |
Set the scale and units used to calculate polygon depth values.
When TGLCapability.PolygonOffsetFill is enabled, each fragment's depth value will be offset after it is interpolated from the depth values of the appropriate vertices. The value of the offset is (AFactor × DZ) + (r × AUnits), where DZ is a measurement of the change in depth relative to the screen area of the polygon, and r is the smallest value that is guaranteed to produce a resolvable offset for a given implementation. The offset is added before the depth test is performed and before the value is written into the depth buffer.
PolygonOffset is useful for rendering hidden-line images, for applying decals to surfaces, and for rendering solids with highlighted edges.
OpenGL API: glPolygonOffset
Parameters
- AFactor
- a scale factor that is used to create a variable depth offset for each polygon. The initial value is 0.
- AUnits
- is multiplied by an implementation-specific value to create a constant depth offset. The initial value is 0.
See also
- Enable
Enable a server-side GL capability.
- Disable
Disable a server-side GL capability.
- IsEnabled
- Checks if a server-side GL capability is enabled.
- DepthFunc
- Specify the value used for depth buffer comparisons.
- GetPolygonOffsetFactor
- Gets the current polygon offset factor.
- GetPolygonOffsetUnits
- Gets the current polygon offset units.
|
 |
class function GetPolygonOffsetFactor: Single; inline; static; |
Gets the current polygon offset factor.
OpenGL API: glGetFloatv(GL_POLYGON_OFFSET_FACTOR)
Returns
The polygon offset factor. See also
- PolygonOffset
- Set the scale and units used to calculate polygon depth values.
- GetPolygonOffsetUnits
- Gets the current polygon offset units.
|
 |
class function GetPolygonOffsetUnits: Single; inline; static; |
Gets the current polygon offset units.
OpenGL API: glGetFloatv(GL_POLYGON_OFFSET_UNITS)
Returns
The polygon offset units. See also
- PolygonOffset
- Set the scale and units used to calculate polygon depth values.
- GetPolygonOffsetFactor
- Gets the current polygon offset factor.
|
 |
class procedure PixelStore(const AMode: TGLPixelStoreMode; const AValue: TGLPixelStoreValue); inline; static; |
Set pixel storage alignment.
This method sets pixel storage modes that affect the operation of subsequent TGLFramebuffer.ReadPixels as well as the unpacking of texture patterns (see TGLTexture.Upload and TGLTexture.SubUpload).
The PackAlignment mode affects how pixel data is downloaded from the GPU into client memory. The UnpackAlignment mode affects how pixel data is uploaded from client memory to the GPU.
OpenGL API: glPixelStorei
Parameters
- AMode
- the mode to set.
- AValue
- the alignment value to set for the mode.
See also
- TGLFramebuffer.ReadPixels
- Read a block of pixels from the frame buffer.
- TGLTexture.Upload
- Uploads an image to the texture.
- TGLTexture.SubUpload
- Uploads a part of an image to the texture.
- GetPixelStore
- Returns to current pixel storage alignment.
|
 |
class function GetPixelStore(const AMode: TGLPixelStoreMode): TGLPixelStoreValue; inline; static; |
Returns to current pixel storage alignment.
OpenGL API: glGetIntegerv(GL_PACK_ALIGNMENT/GL_UNPACK_ALIGNMENT)
Parameters
- AMode
- the mode for which to return the storage value.
Returns
The storage alignment for the given node. See also
- PixelStore
- Set pixel storage alignment.
|
 |
class procedure GetAliasedLineWidthRange(out AMin, AMax: Single); inline; static; |
Gets the smallest and largest supported widths for aliased lines.
The returned range always includes value 1.0.
OpenGL API: glGetIntegerv(GL_ALIASED_LINE_WIDTH_RANGE)
Parameters
- AMin
- is set to the smallest supported line width.
- AMax
- is set to the largest supported line width.
See also
- LineWidth
- Specify the width of rasterized lines.
- GetLineWidth
- Get the current line width.
|
 |
class procedure GetAliasedPointSizeRange(out AMin, AMax: Single); inline; static; |
Gets the smallest and largest supported sizes for aliased points.
The returned range always includes value 1.0.
OpenGL API: glGetIntegerv(GL_ALIASED_POINT_SIZE_RANGE)
Parameters
- AMin
- is set to the smallest supported point size.
- AMax
- is set to the largest supported point size.
|
 |
class procedure Enable(const ACapability: TGLCapability); inline; static; |
Enable a server-side GL capability.
Use IsEnabled to determine the current setting of any capability. The initial value for each capability with the exception of TGLCapability.Dither is False. The initial value for TGLCapability.Dither is True.
OpenGL API: glEnable
Parameters
- ACapability
- the GL capability to
enable .
See also
- IsEnabled
- Checks if a server-side GL capability is enabled.
- TGLTexture.BindToTextureUnit
- Actives a texture unit and binds this texture to that unit.
- BlendFunc
- Specify pixel arithmetic using blend functions.
- CullFace
- Specify whether front- or back-facing polygons can be culled.
- DepthFunc
- Specify the value used for depth buffer comparisons.
- DepthRange
- Specify mapping of depth values from normalized device coordinates to window coordinates.
- LineWidth
- Specify the width of rasterized lines.
- PolygonOffset
- Set the scale and units used to calculate polygon depth values.
- Scissor
- Define the
scissor box.
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilOp
- Set front and back stencil test actions.
- TGLTexture
- A texture
|
 |
class procedure Disable(const ACapability: TGLCapability); inline; static; |
Disable a server-side GL capability.
Use IsEnabled to determine the current setting of any capability. The initial value for each capability with the exception of TGLCapability.Dither is False. The initial value for TGLCapability.Dither is True.
OpenGL API: glDisable
Parameters
- ACapability
- the GL capability to
disable .
See also
- IsEnabled
- Checks if a server-side GL capability is enabled.
- TGLTexture.BindToTextureUnit
- Actives a texture unit and binds this texture to that unit.
- BlendFunc
- Specify pixel arithmetic using blend functions.
- CullFace
- Specify whether front- or back-facing polygons can be culled.
- DepthFunc
- Specify the value used for depth buffer comparisons.
- DepthRange
- Specify mapping of depth values from normalized device coordinates to window coordinates.
- LineWidth
- Specify the width of rasterized lines.
- PolygonOffset
- Set the scale and units used to calculate polygon depth values.
- Scissor
- Define the
scissor box.
- StencilFunc
- Set front and back function and reference value for stencil testing.
- StencilOp
- Set front and back stencil test actions.
- TGLTexture
- A texture
|
 |
class function IsEnabled(const ACapability: TGLCapability): Boolean; inline; static; |
Checks if a server-side GL capability is enabled.
OpenGL API: glIsEnabled
Parameters
- ACapability
- the GL capability to check.
Returns
True if ACapability is currently enabled. False otherwise. See also
- Enable
Enable a server-side GL capability.
- Disable
Disable a server-side GL capability.
|
 |
class procedure Finish; inline; static; |
Block until all GL execution is complete.
This method does not return until the effects of all previously called GL commands are complete. Such effects include all changes to GL state, all changes to connection state, and all changes to the frame buffer contents.
Note: Finish requires a round trip to the server.
OpenGL API: glFinish
See also
- Flush
- Force execution of GL commands in finite time.
|
 |
class procedure Flush; inline; static; |
Force execution of GL commands in finite time.
Different GL implementations buffer commands in several different locations, including network buffers and the graphics accelerator itself. This method empties all of these buffers, causing all issued commands to be executed as quickly as they are accepted by the actual rendering engine. Though this execution may not be completed in any particular time period, it does complete in finite time.
Because any GL program might be executed over a network, or on an accelerator that buffers commands, all programs should call Flush whenever they count on having all of their previously issued commands completed. For example, call Flush before waiting for user input that depends on the generated image.
Note: Flush can return at any time. It does not wait until the execution of all previously issued GL commands is complete.
OpenGL API: glFlush
See also
- Finish
- Block until all GL execution is complete.
|
 |
class function GetSubpixelBits: Integer; inline; static; |
Get an estimate of the number of bits of subpixel resolution that are used to position rasterized geometry in window coordinates. The value must be at least 4.
OpenGL API: glGetIntegerv(GL_SUBPIXEL_BITS)
|
 |
class function GetVendor: RawByteString; inline; static; |
Get the company responsible for this GL implementation. This name does not change from release to release.
Because the GL does not include queries for the performance characteristics of an implementation, some applications are written to recognize known platforms and modify their GL usage based on known performance characteristics of these platforms. GetVendor and GetRenderer together uniquely specify a platform. They do not change from release to release and should be used by platform-recognition algorithms.
OpenGL API: glGetString(GL_VENDOR)
See also
- GetRenderer
- Get the name of the renderer.
|
 |
class function GetRenderer: RawByteString; inline; static; |
Get the name of the renderer. This name is typically specific to a particular configuration of a hardware platform. It does not change from release to release.
Because the GL does not include queries for the performance characteristics of an implementation, some applications are written to recognize known platforms and modify their GL usage based on known performance characteristics of these platforms. GetVendor and GetRenderer together uniquely specify a platform. They do not change from release to release and should be used by platform-recognition algorithms.
OpenGL API: glGetString(GL_RENDERER)
See also
- GetVendor
- Get the company responsible for this GL implementation.
|
 |
class function GetVersion: RawByteString; inline; static; |
Get a version or release number of the form OpenGL<space>ES<space><version number><space><vendor-specific information>.
OpenGL API: glGetString(GL_VERSION)
|
 |
class function GetShadingLanguageVersion: RawByteString; inline; static; |
Get a version or release number for the shading language of the form OpenGL<space>ES<space>GLSL<space>ES<space><version number><space><vendor-specific information>.
OpenGL API: glGetString(GL_SHADING_LANGUAGE_VERSION)
|
 |
class function GetExtensions: RawByteString; inline; static; |
Get a space-separated list of supported extensions to GL.
Some applications want to make use of features that are not part of the standard GL. These features may be implemented as extensions to the standard GL. This method returns a space-separated list of supported GL extensions. (Extension names never contain a space character.)
OpenGL API: glGetString(GL_EXTENSIONS)
|
Generated by PasDocEx, based on PasDoc 0.14.0.
|