OpenGLDrv

Windows
MacOS
Linux

Classes

Name

Description

Public struct

FOpenGL3

Public struct

FOpenGL4

Public class

FOpenGLAssertRHIThreadFence

Public class

FOpenGLBase

Base static class.

Public class

FOpenGLBaseIndexBuffer

Public class

FOpenGLBasePixelBuffer

Public class

FOpenGLBaseStructuredBuffer

Public class

FOpenGLBaseTexture2D

Public class

FOpenGLBaseTexture2DArray

Public class

FOpenGLBaseTexture3D

Public class

FOpenGLBaseTextureCube

Public class

FOpenGLBaseVertexBuffer

Public struct

FOpenGLBindlessSamplerInfo

Public class

FOpenGLBlendState

Public struct

FOpenGLBlendStateData

Public class

FOpenGLBoundShaderState

Combined shader state and vertex definition for rendering geometry.

Public class

FOpenGLBufferedGPUTiming

This class has multiple inheritance but really FGPUTiming is a static class.

Public struct

FOpenGLCachedAttr

Public struct

FOpenGLCodeHeader

Code header information.

Public struct

FOpenGLCommonState

Public class

FOpenGLComputeShader

Public struct

FOpenGLContextState

Public class

FOpenGLDepthStencilState

Public struct

FOpenGLDepthStencilStateData

Public class

FOpenGLDisjointTimeStampQuery

Used to track whether a period was disjoint on the GPU, which means GPU timings are invalid.

Public class

FOpenGLDynamicRHI

The interface which is implemented by the dynamically bound RHI.

Public class

FOpenGLDynamicRHIModule

Implements the OpenGLDrv module as a dynamic RHI providing module.

Public struct

FOpenGLES

Public struct

FOpenGLEUniformBufferData

Public class

FOpenGLEventNode

A single perf event node, which tracks information about a appBeginDrawEvent/appEndDrawEvent range.

Public class

FOpenGLEventNodeFrame

An entire frame of perf event nodes, including ancillary timers.

Public class

FOpenGLEventQuery

A OpenGL event query resource.

Public class

FOpenGLGPUFence

Note that Poll() and WriteInternal() will stall the RHI thread if one is present.

Public struct

FOpenGLGPUProfiler

Encapsulates GPU profiling logic and data.

Public class

FOpenGLLinkedProgramConfiguration

Public class

FOpenGLProgramBinaryCache

Public struct

FOpenGLProgramKey

Unique identifier for a program. (composite of shader keys)

Public class

FOpenGLRasterizerState

Public struct

FOpenGLRasterizerStateData

Public class

FOpenGLRenderQuery

Public struct

FOpenGLRHIState

Public class

FOpenGLRHIThreadResourceFence

Public class

FOpenGLSamplerState

Public struct

FOpenGLSamplerStateData

Public struct

FOpenGLShaderBindings

Shader binding information.

Public struct

FOpenGLShaderDeviceCapabilities

GL device capabilities for generating GLSL compilable on platform with described capabilities

Public class

FOpenGLShaderParameterCache

Caching of OpenGL uniform parameters.

Public struct

FOpenGLShaderResourceTable

Public class

FOpenGLShaderResourceView

Public class

FOpenGLShaderResourceViewProxy

This class is required to remove the SRV from the shader cache upon deletion

Public struct

FOpenGLShaderVarying

Public class

FOpenGLStagingBuffer

Public struct

FOpenGLStream

Public class

FOpenGLStructuredBufferUnorderedAccessView

Public class

FOpenGLTextureBase

Public class

FOpenGLTextureReference

Public class

FOpenGLTextureUnorderedAccessView

Public class

FOpenGLUniformBuffer

Public class

FOpenGLUnorderedAccessView

Public class

FOpenGLVertexBufferUnorderedAccessView

Public class

FOpenGLVertexDeclaration

This represents a vertex declaration that hasn't been combined with a specific shader to create a bound shader.

Public struct

FOpenGLVertexElement

Public class

FOpenGLViewport

Public struct

FRHICommandGLCommand

Public struct

FRHICommandGLCommandString

Public struct

FTextureStage

Public struct

FUAVStage

Public struct

TIsGLProxyObject

Public struct

TIsGLResourceWithFence

Public class

TOpenGLBuffer

Public class

TOpenGLResourceProxy

Public struct

TOpenGLResourceTraits

Public class

TOpenGLShader

OpenGL shader resource.

Public class

TOpenGLStreamedBufferArray

Public class

TOpenGLTexture

Textures.

Constants

Name

Description

OGL_FIRST_UNIFORM_BUFFER

Shader related constants.

OGL_MAX_UNIFORM_BUFFER_BINDINGS

Shader related constants.

OGL_UAV_NOT_SUPPORTED_FOR_GRAPHICS_UNIT

Shader related constants.

Typedefs

Enums

Name

Description

Public enum

EOpenGLShaderTargetPlatform

Functions

Name Description

Public function

void

 

CachedBindArrayBuffer

(
    GLuint Buffer
)

Public function

void

 

CachedBindElementArrayBuffer

(
    GLuint Buffer
)

Public function

void

 

CachedBindPixelUnpackBuffer

(
    GLuint Buffer
)

Public function

void

 

CachedBindUniformBuffer

(
    GLuint Buffer
)

Public function Static

TEnableIf<&#...

 

CheckRHITFence

(
    T* Resource
)

Public function Static

TEnableIf< T...

 

CheckRHITFence

(
    T* Resource
)

Public function

void

 

DecrementBufferMemory

(
    GLenum Type,
    bool bStructuredBuffer,
    uint32 NumBytes
)

Public function

void

 

GetCurrentOpenGLShaderDeviceCapabilities

Gets the GL device capabilities for the current device.

Public function

GLenum

 

GetOpenGLCubeFace

(
    ECubeFace Face
)

Convert from ECubeFace to GLenum type

Public function

GLenum

 

GetOpenGLTargetFromRHITexture

(
    FRHITexture* Texture
)

Public function

FOpenGLTextu...

 

GetOpenGLTextureFromRHITexture

(
    FRHITexture* Texture
)

Given a pointer to a RHI texture that was created by the OpenGL RHI, returns a pointer to the FOpenGLTextureBase it encapsulates.

Public function

uint32

 

GetOpenGLTextureSizeXFromRHITexture

(
    FRHITexture* Texture
)

Public function

uint32

 

GetOpenGLTextureSizeYFromRHITexture

(
    FRHITexture* Texture
)

Public function

uint32

 

GetOpenGLTextureSizeZFromRHITexture

(
    FRHITexture* Texture
)

Public function

typedef

 

GLboolean

(
    GL_APIENTRYP PFNGLUNMAPBUFFEROESPRO...
)

Public function

void

 

GLSLToDeviceCompatibleGLSL

(
    FAnsiCharArray& GlslCodeOriginal,
    const FString& ShaderName,
    GLenum TypeEnum,
    const FOpenGLShaderDeviceCapabiliti...,
    FAnsiCharArray& GlslCode
)

Processes the GLSL output of the shader cross compiler to get GLSL that can be compiled on a platform with the specified capabilities.

Public function

void

 

IncrementBufferMemory

(
    GLenum Type,
    bool bStructuredBuffer,
    uint32 NumBytes
)

Public function

bool

 

IsUniformBufferBound

(
    GLuint Buffer
)

Public function

void

 

OnIndexBufferDeletion

(
    GLuint IndexBufferResource
)

Public function

void

 

OnPixelBufferDeletion

(
    GLuint PixelBufferResource
)

Public function

void

 

OnProgramDeletion

(
    GLint ProgramResource
)

Public function

void

 

OnUniformBufferDeletion

(
    GLuint UniformBufferResource,
    uint32 AllocatedSize,
    bool bStreamDraw,
    uint32 Offset,
    uint8* Pointer
)

Public function

void

 

OnVertexBufferDeletion

(
    GLuint VertexBufferResource
)

Public function

void

 

OpenGLTextureAllocated

(
    FRHITexture* Texture,
    uint32 Flags
)

Public function

void

 

OpenGLTextureDeleted

(
    FRHITexture* Texture
)

Public function

void

 

PE_AppendCString

(
    TArray< ANSICHAR >& Dest,
    const ANSICHAR* Source
)

Make some anon ns functions available to platform extensions

Public function

void

 

PE_ReplaceCString

(
    TArray< ANSICHAR >& Dest,
    const ANSICHAR* Source,
    const ANSICHAR* Replacement
)

Public function

bool

 

PlatformOpenGLContextValid()

Returns true, if current thread has a valid OpenGL context selected, false otherwise.

Public function

void

 

ReleaseOpenGLFramebuffers

(
    FOpenGLDynamicRHI* Device,
    FRHITexture* TextureRHI
)

Public function

void

 

RunOnGLRenderContextThread

(
    TFunction< void)> GLFunc,
    bool bWaitForCompletion
)

Public function

bool

 

ShouldRunGLRenderContextOpOnThisThread

(
    FRHICommandListImmediate& RHICmdLi...
)

Public function

typedef

 

void

(
    GL_APIENTRYP PFNGLGENQUERIESEXTPROC
)

Mobile multi-view.

Variables

Name Description

Public variable

PFNGLBEGINQUERY...

 

glBeginQueryEXT

Public variable

PFNGLBINDBUFFER...

 

glBindBufferBase

Public variable

PFNGLBINDBUFFER...

 

glBindBufferRange

Public variable

PFNGLBINDIMAGET...

 

glBindImageTexture

Public variable

PFNGLBINDSAMPLE...

 

glBindSampler

Public variable

PFNGLBINDVERTEX...

 

glBindVertexArray

Public variable

PFNGLBLITFRAMEB...

 

glBlitFramebuffer

Public variable

PFNGLCLEARBUFFE...

 

glClearBufferfi

Public variable

PFNGLCLEARBUFFE...

 

glClearBufferfv

Public variable

PFNGLCLEARBUFFE...

 

glClearBufferiv

Public variable

PFNGLCLEARBUFFE...

 

glClearBufferuiv

Public variable

PFNGLCLIENTWAIT...

 

glClientWaitSync

Public variable

PFNGLCOLORMASKI...

 

glColorMaskiEXT

Public variable

PFNGLCOMPRESSED...

 

glCompressedTexImage3D

Public variable

PFNGLCOMPRESSED...

 

glCompressedTexSubImage3D

Public variable

PFNGLCOPYBUFFER...

 

glCopyBufferSubData

Public variable

PFNGLCOPYIMAGES...

 

glCopyImageSubData

Public variable

PFNGLCOPYTEXSUB...

 

glCopyTexSubImage3D

Public variable

PFNGLDEBUGMESSA...

 

glDebugMessageCallbackKHR

Public variable

PFNGLDEBUGMESSA...

 

glDebugMessageControlKHR

Public variable

PFNGLDEBUGMESSA...

 

glDebugMessageInsertKHR

Public variable

PFNGLGETDEBUGME...

 

glDebugMessageLogKHR

Public variable

PFNGLDELETEQUER...

 

glDeleteQueriesEXT

Public variable

PFNGLDELETESAMP...

 

glDeleteSamplers

Public variable

PFNGLDELETESYNC...

 

glDeleteSync

Public variable

PFNGLDISCARDFRA...

 

glDiscardFramebufferEXT

Public variable

PFNGLDISPATCHCO...

 

glDispatchCompute

Public variable

PFNGLDISPATCHCO...

 

glDispatchComputeIndirect

Public variable

PFNGLDRAWARRAYS...

 

glDrawArraysIndirect

Public variable

PFNGLDRAWARRAYS...

 

glDrawArraysInstanced

Public variable

PFNGLDRAWBUFFER...

 

glDrawBuffers

Public variable

PFNGLDRAWELEMEN...

 

glDrawElementsIndirect

Public variable

PFNGLDRAWELEMEN...

 

glDrawElementsInstanced

Public variable

PFNGLENDQUERYEX...

 

glEndQueryEXT

Public variable

PFNGLFENCESYNCP...

 

glFenceSync

Public variable

PFNGLFRAMEBUFFE...

 

glFramebufferTexture2DMultisampleEXT

Public variable

PFNGLFRAMEBUFFE...

 

glFramebufferTextureLayer

Public variable

PFNGLFRAMEBUFFE...

 

glFramebufferTextureMultisampleMultiviewOVR

Public variable

PFNGLFRAMEBUFFE...

 

glFramebufferTextureMultiviewOVR

Public variable

PFNGLGENQUERIES...

 

glGenQueriesEXT

Public variable

PFNGLGENSAMPLER...

 

glGenSamplers

Public variable

PFNGLGENVERTEXA...

 

glGenVertexArrays

Public variable

PFNGLGETOBJECTL...

 

glGetObjectLabelEXT

Public variable

PFNGLGETOBJECTL...

 

glGetObjectLabelKHR

Public variable

PFNGLGETOBJECTP...

 

glGetObjectPtrLabelKHR

Public variable

PFNGLGETPOINTER...

 

glGetPointervKHR

Public variable

PFNGLGETPROGRAM...

 

glGetProgramBinary

Public variable

PFNGLGETQUERYIV...

 

glGetQueryivEXT

Public variable

PFNGLGETQUERYOB...

 

glGetQueryObjectui64vEXT

Public variable

PFNGLGETQUERYOB...

 

glGetQueryObjectuivEXT

Public variable

PFNGLGETUNIFORM...

 

glGetUniformBlockIndex

Public variable

PFNGLISQUERYEXT...

 

glIsQueryEXT

Public variable

PFNGLISSYNCPROC

 

glIsSync

Public variable

PFNGLLABELOBJEC...

 

glLabelObjectEXT

Public variable

PFNGLMAPBUFFERO...

 

glMapBufferOESa

Public variable

PFNGLMAPBUFFERR...

 

glMapBufferRange

Public variable

PFNGLMEMORYBARR...

 

glMemoryBarrier

Public variable

PFNGLOBJECTLABE...

 

glObjectLabelKHR

Public variable

PFNGLOBJECTPTRL...

 

glObjectPtrLabelKHR

Public variable

PFNGLPOPDEBUGGR...

 

glPopDebugGroupKHR

Public variable

PFNGLPOPGROUPMA...

 

glPopGroupMarkerEXT

Public variable

PFNGLPROGRAMBIN...

 

glProgramBinary

Public variable

PFNGLPROGRAMPAR...

 

glProgramParameteri

Public variable

PFNGLPUSHDEBUGG...

 

glPushDebugGroupKHR

Public variable

PFNGLPUSHGROUPM...

 

glPushGroupMarkerEXT

Public variable

PFNGLQUERYCOUNT...

 

glQueryCounterEXT

Public variable

PFNGLREADBUFFER...

 

glReadBuffer

Public variable

PFNGLRENDERBUFF...

 

glRenderbufferStorageMultisampleEXT

Public variable

PFNGLSAMPLERPAR...

 

glSamplerParameteri

Public variable

PFNGLTEXBUFFERE...

 

glTexBufferEXT

Public variable

PFNGLTEXBUFFERR...

 

glTexBufferRangeEXT

Public variable

PFNGLTEXIMAGE3D...

 

glTexImage3D

Public variable

PFNGLTEXSTORAGE...

 

glTexStorage2D

Public variable

PFNGLTEXSTORAGE...

 

glTexStorage3D

Public variable

PFNGLTEXSUBIMAG...

 

glTexSubImage3D

Public variable

PFNGLUNIFORM4UI...

 

glUniform4uiv

Public variable

PFNGLUNIFORMBLO...

 

glUniformBlockBinding

Public variable

PFNGLUNMAPBUFFE...

 

glUnmapBuffer

Public variable

PFNGLUNMAPBUFFE...

 

glUnmapBufferOESa

Public variable

PFNGLVERTEXATTR...

 

glVertexAttribDivisor

Public variable

PFNGLVERTEXATTR...

 

glVertexAttribIPointer

Public variable

ERHIFeatureLeve...

 

GRequestedFeatureLevel

Help shape the future of Unreal Engine documentation! Tell us how we're doing so we can serve you better.
Take our survey
Dismiss