@@ -77,6 +77,7 @@ GLShader_screen *gl_screenShader = nullptr;
7777GLShader_screenMaterial *gl_screenShaderMaterial = nullptr ;
7878GLShader_skybox *gl_skyboxShader = nullptr ;
7979GLShader_skyboxMaterial *gl_skyboxShaderMaterial = nullptr ;
80+ GlobalUBOProxy *globalUBOProxy = nullptr ;
8081GLShaderManager gl_shaderManager;
8182
8283namespace // Implementation details
@@ -3013,3 +3014,39 @@ GLShader_processSurfaces::GLShader_processSurfaces() :
30133014 u_ViewID( this ),
30143015 u_SurfaceCommandsOffset( this ) {
30153016}
3017+
3018+ GlobalUBOProxy::GlobalUBOProxy () :
3019+ /* HACK: A GLShader* is required to initialise uniforms,
3020+ but we don't need the GLSL shader itself, so we won't actually build it */
3021+ GLShader( " proxy" , 0 ,
3022+ false , " screenSpace" , " generic" , true ),
3023+ // CONST
3024+ u_ColorMap3D( this ),
3025+ u_DepthMap( this ),
3026+ u_PortalMap( this ),
3027+ u_FogMap( this ),
3028+ u_DepthTile1( this ),
3029+ u_DepthTile2( this ),
3030+ u_LightTiles( this ),
3031+ u_LightGrid1( this ),
3032+ u_LightGrid2( this ),
3033+ u_LightGridOrigin( this ),
3034+ u_LightGridScale( this ),
3035+ u_GlobalLightFactor( this ),
3036+ u_SRGB( this ),
3037+ u_FirstPortalGroup( this ),
3038+ u_TotalPortals( this ),
3039+ u_SurfaceDescriptorsCount( this ),
3040+ u_ProfilerZero( this ),
3041+ // FRAME
3042+ u_Frame( this ),
3043+ u_UseFrustumCulling( this ),
3044+ u_UseOcclusionCulling( this ),
3045+ u_blurVec( this ),
3046+ u_numLights( this ),
3047+ u_ColorModulate( this ),
3048+ u_InverseGamma( this ),
3049+ u_Tonemap( this ),
3050+ u_TonemapParms( this ),
3051+ u_TonemapExposure( this ) {
3052+ }
0 commit comments