UDocumentation UE5.7 10.02.2026 (Source)
API documentation for Unreal Engine 5.7
OpenGLShaders.h File Reference
#include "CoreMinimal.h"
#include "OpenGLDrv.h"

Go to the source code of this file.

Classes

struct  FOpenGLShaderDeviceCapabilities
 

Enumerations

enum  EOpenGLShaderTargetPlatform { OGLSTP_Unknown , OGLSTP_Desktop , OGLSTP_Android , OGLSTP_iOS }
 

Functions

void OPENGLDRV_API GetCurrentOpenGLShaderDeviceCapabilities (FOpenGLShaderDeviceCapabilities &Capabilities)
 
void OPENGLDRV_API GLSLToDeviceCompatibleGLSL (FAnsiCharArray &GlslCodeOriginal, const FString &ShaderName, GLenum TypeEnum, const FOpenGLShaderDeviceCapabilities &Capabilities, FAnsiCharArray &GlslCode)
 
void PE_AppendCString (TArray< ANSICHAR > &Dest, const ANSICHAR *Source)
 
void PE_ReplaceCString (TArray< ANSICHAR > &Dest, const ANSICHAR *Source, const ANSICHAR *Replacement)
 

Enumeration Type Documentation

◆ EOpenGLShaderTargetPlatform

Enumerator
OGLSTP_Unknown 
OGLSTP_Desktop 
OGLSTP_Android 
OGLSTP_iOS 

Function Documentation

◆ GetCurrentOpenGLShaderDeviceCapabilities()

void OPENGLDRV_API GetCurrentOpenGLShaderDeviceCapabilities ( FOpenGLShaderDeviceCapabilities Capabilities)

Gets the GL device capabilities for the current device.

Parameters
Capabilities[out] The current platform's capabilities on device for shader compiling

◆ GLSLToDeviceCompatibleGLSL()

void OPENGLDRV_API GLSLToDeviceCompatibleGLSL ( FAnsiCharArray GlslCodeOriginal,
const FString &  ShaderName,
GLenum  TypeEnum,
const FOpenGLShaderDeviceCapabilities Capabilities,
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. Works around inconsistencies between OpenGL implementations, including lack of support for certain extensions and drivers with non-conformant behavior.

Parameters
GlslCodeOriginal- [in,out] GLSL output from shader cross compiler to be modified. Process is destructive; pass in a copy if still need original!
ShaderName- [in] Shader name
TypeEnum- [in] Type of shader (GL_[VERTEX, FRAGMENT, GEOMETRY, TESS_CONTROL, TESS_EVALUATION]_SHADER)
Capabilities- [in] GL Device capabilities
GlslCode- [out] Compilable GLSL

◆ PE_AppendCString()

void PE_AppendCString ( TArray< ANSICHAR > &  Dest,
const ANSICHAR Source 
)

◆ PE_ReplaceCString()

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