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

FOpenGLGPUFenceProxy

Fences.

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

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,
    ETextureCreateFlags 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...
)

Variables

Name Description

Public variable

PFNGLBLENDEQUAT...

 

glBlendEquationiEXT

Public variable

PFNGLBLENDEQUAT...

 

glBlendEquationSeparateiEXT

Public variable

PFNGLBLENDFUNCI...

 

glBlendFunciEXT

Public variable

PFNGLBLENDFUNCS...

 

glBlendFuncSeparateiEXT

Public variable

PFNGLBUFFERSTOR...

 

glBufferStorageEXT

GL_EXT_buffer_storage.

Public variable

PFNGLCOLORMASKI...

 

glColorMaskiEXT

Public variable

PFNGLCOPYIMAGES...

 

glCopyImageSubDataEXT

Public variable

PFNGLDEBUGMESSA...

 

glDebugMessageCallbackKHR

Public variable

PFNGLDEBUGMESSA...

 

glDebugMessageControlKHR

Public variable

PFNGLDEBUGMESSA...

 

glDebugMessageInsertKHR

Public variable

PFNGLGETDEBUGME...

 

glDebugMessageLogKHR

Public variable

PFNGLDISABLEIEX...

 

glDisableiEXT

Public variable

PFNGLENABLEIEXT...

 

glEnableiEXT

Public variable

PFNGLFRAMEBUFFE...

 

glFramebufferTexture2DMultisampleEXT

GL_EXT_multisampled_render_to_texture.

Public variable

PFNGLFRAMEBUFFE...

 

glFramebufferTextureMultisampleMultiviewOVR

Public variable

PFNGLFRAMEBUFFE...

 

glFramebufferTextureMultiviewOVR

Mobile multi-view.

Public variable

PFNGLGETOBJECTL...

 

glGetObjectLabelEXT

Public variable

PFNGLGETOBJECTL...

 

glGetObjectLabelKHR

Public variable

PFNGLGETOBJECTP...

 

glGetObjectPtrLabelKHR

Public variable

PFNGLGETPOINTER...

 

glGetPointervKHR

Public variable

PFNGLLABELOBJEC...

 

glLabelObjectEXT

GL_EXT_debug_label.

Public variable

PFNGLOBJECTLABE...

 

glObjectLabelKHR

Public variable

PFNGLOBJECTPTRL...

 

glObjectPtrLabelKHR

Public variable

PFNGLPOPDEBUGGR...

 

glPopDebugGroupKHR

Public variable

PFNGLPOPGROUPMA...

 

glPopGroupMarkerEXT

Public variable

PFNGLPUSHDEBUGG...

 

glPushDebugGroupKHR

Public variable

PFNGLPUSHGROUPM...

 

glPushGroupMarkerEXT

GL_EXT_debug_marker.

Public variable

PFNGLRENDERBUFF...

 

glRenderbufferStorageMultisampleEXT

Public variable

PFNGLTEXBUFFERE...

 

glTexBufferEXT

ES 3.2.

Public variable

PFNGLTEXBUFFERR...

 

glTexBufferRangeEXT

Public variable

ERHIFeatureLeve ...

 

GRequestedFeatureLevel

Select Skin
Light
Dark

Welcome to the new Unreal Engine 4 Documentation site!

We're working on lots of new features including a feedback system so you can tell us how we are doing. It's not quite ready for use in the wild yet, so head over to the Documentation Feedback forum to tell us about this page or call out any issues you are encountering in the meantime.

We'll be sure to let you know when the new system is up and running.

Post Feedback