OpenClonk
C4DrawGL.h File Reference
#include "C4ForbidLibraryCompilation.h"
#include <epoxy/gl.h>
#include "graphics/C4Draw.h"
#include "graphics/C4Shader.h"
Include dependency graph for C4DrawGL.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  C4DrawGLError
 
class  CStdGLCtx
 
class  CStdGL
 
struct  CStdGL.Workarounds
 

Macros

#define INC_StdGL
 

Enumerations

enum  C4SS_Uniforms {
  C4SSU_ProjectionMatrix , C4SSU_ModelViewMatrix , C4SSU_NormalMatrix , C4SSU_ClrMod ,
  C4SSU_Gamma , C4SSU_Resolution , C4SSU_BaseTex , C4SSU_OverlayTex ,
  C4SSU_OverlayClr , C4SSU_LightTex , C4SSU_LightTransform , C4SSU_NormalTex ,
  C4SSU_AmbientTex , C4SSU_AmbientTransform , C4SSU_AmbientBrightness , C4SSU_MaterialAmbient ,
  C4SSU_MaterialDiffuse , C4SSU_MaterialSpecular , C4SSU_MaterialEmission , C4SSU_MaterialShininess ,
  C4SSU_Bones , C4SSU_CullMode , C4SSU_FrameCounter , C4SSU_Count
}
 
enum  C4SS_Attributes {
  C4SSA_Position , C4SSA_Normal , C4SSA_TexCoord , C4SSA_Color ,
  C4SSA_BoneIndices0 , C4SSA_BoneIndices1 , C4SSA_BoneWeights0 , C4SSA_BoneWeights1 ,
  C4SSA_Count
}
 

Variables

CStdGLpGL
 

Class Documentation

◆ CStdGL.Workarounds

struct CStdGL.Workarounds

Definition at line 279 of file C4DrawGL.h.

Class Members
bool ForceSoftwareTransform
bool LowMaxVertexUniformCount

Macro Definition Documentation

◆ INC_StdGL

#define INC_StdGL

Definition at line 21 of file C4DrawGL.h.

Enumeration Type Documentation

◆ C4SS_Attributes

Enumerator
C4SSA_Position 
C4SSA_Normal 
C4SSA_TexCoord 
C4SSA_Color 
C4SSA_BoneIndices0 
C4SSA_BoneIndices1 
C4SSA_BoneWeights0 
C4SSA_BoneWeights1 
C4SSA_Count 

Definition at line 87 of file C4DrawGL.h.

88 {
89  C4SSA_Position, // 2d for sprites, 3d for meshes
90  C4SSA_Normal, // meshes only
91  C4SSA_TexCoord, // 2d
92  C4SSA_Color, // sprites only, 4d
93 
96 
99 
101 };
@ C4SSA_TexCoord
Definition: C4DrawGL.h:91
@ C4SSA_BoneIndices0
Definition: C4DrawGL.h:94
@ C4SSA_Normal
Definition: C4DrawGL.h:90
@ C4SSA_Count
Definition: C4DrawGL.h:100
@ C4SSA_BoneIndices1
Definition: C4DrawGL.h:95
@ C4SSA_Color
Definition: C4DrawGL.h:92
@ C4SSA_BoneWeights1
Definition: C4DrawGL.h:98
@ C4SSA_BoneWeights0
Definition: C4DrawGL.h:97
@ C4SSA_Position
Definition: C4DrawGL.h:89

◆ C4SS_Uniforms

Enumerator
C4SSU_ProjectionMatrix 
C4SSU_ModelViewMatrix 
C4SSU_NormalMatrix 
C4SSU_ClrMod 
C4SSU_Gamma 
C4SSU_Resolution 
C4SSU_BaseTex 
C4SSU_OverlayTex 
C4SSU_OverlayClr 
C4SSU_LightTex 
C4SSU_LightTransform 
C4SSU_NormalTex 
C4SSU_AmbientTex 
C4SSU_AmbientTransform 
C4SSU_AmbientBrightness 
C4SSU_MaterialAmbient 
C4SSU_MaterialDiffuse 
C4SSU_MaterialSpecular 
C4SSU_MaterialEmission 
C4SSU_MaterialShininess 
C4SSU_Bones 
C4SSU_CullMode 
C4SSU_FrameCounter 
C4SSU_Count 

Definition at line 50 of file C4DrawGL.h.

51 {
53  C4SSU_ModelViewMatrix, // 4x4
54  C4SSU_NormalMatrix, // 3x3, transpose-inverse of modelview matrix
55 
56  C4SSU_ClrMod, // always
57  C4SSU_Gamma, // always
58  C4SSU_Resolution, // always
59 
60  C4SSU_BaseTex, // C4SSC_BASE
61  C4SSU_OverlayTex, // C4SSC_OVERLAY
62  C4SSU_OverlayClr, // C4SSC_OVERLAY
63 
64  C4SSU_LightTex, // C4SSC_LIGHT
65  C4SSU_LightTransform, // C4SSC_LIGHT
66  C4SSU_NormalTex, // C4SSC_LIGHT | C4SSC_NORMAL
67 
68  C4SSU_AmbientTex, // C4SSC_LIGHT
69  C4SSU_AmbientTransform, // C4SSC_LIGHT
70  C4SSU_AmbientBrightness, // C4SSC_LIGHT
71 
72  C4SSU_MaterialAmbient, // for meshes
73  C4SSU_MaterialDiffuse, // for meshes
74  C4SSU_MaterialSpecular, // for meshes
75  C4SSU_MaterialEmission, // for meshes
76  C4SSU_MaterialShininess, // for meshes
77 
78  C4SSU_Bones, // for meshes
79  C4SSU_CullMode, // for meshes
80 
81  C4SSU_FrameCounter, // for custom shaders
82 
84 };
@ C4SSU_MaterialEmission
Definition: C4DrawGL.h:75
@ C4SSU_LightTransform
Definition: C4DrawGL.h:65
@ C4SSU_FrameCounter
Definition: C4DrawGL.h:81
@ C4SSU_NormalMatrix
Definition: C4DrawGL.h:54
@ C4SSU_NormalTex
Definition: C4DrawGL.h:66
@ C4SSU_OverlayClr
Definition: C4DrawGL.h:62
@ C4SSU_AmbientTex
Definition: C4DrawGL.h:68
@ C4SSU_ModelViewMatrix
Definition: C4DrawGL.h:53
@ C4SSU_BaseTex
Definition: C4DrawGL.h:60
@ C4SSU_LightTex
Definition: C4DrawGL.h:64
@ C4SSU_Resolution
Definition: C4DrawGL.h:58
@ C4SSU_MaterialAmbient
Definition: C4DrawGL.h:72
@ C4SSU_AmbientBrightness
Definition: C4DrawGL.h:70
@ C4SSU_Count
Definition: C4DrawGL.h:83
@ C4SSU_OverlayTex
Definition: C4DrawGL.h:61
@ C4SSU_ClrMod
Definition: C4DrawGL.h:56
@ C4SSU_MaterialDiffuse
Definition: C4DrawGL.h:73
@ C4SSU_AmbientTransform
Definition: C4DrawGL.h:69
@ C4SSU_ProjectionMatrix
Definition: C4DrawGL.h:52
@ C4SSU_Bones
Definition: C4DrawGL.h:78
@ C4SSU_MaterialSpecular
Definition: C4DrawGL.h:74
@ C4SSU_MaterialShininess
Definition: C4DrawGL.h:76
@ C4SSU_CullMode
Definition: C4DrawGL.h:79
@ C4SSU_Gamma
Definition: C4DrawGL.h:57

Variable Documentation

◆ pGL

CStdGL* pGL
extern

Definition at line 907 of file C4DrawGL.cpp.