You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
110 lines
3.1 KiB
110 lines
3.1 KiB
//========= Copyright Valve Corporation, All rights reserved. ============// |
|
// |
|
// Purpose: |
|
// |
|
// $Header: $ |
|
// $NoKeywords: $ |
|
// |
|
//=============================================================================// |
|
|
|
#ifndef MATERIALSYSTEM_GLOBAL_H |
|
#define MATERIALSYSTEM_GLOBAL_H |
|
|
|
#ifdef _WIN32 |
|
#pragma once |
|
#endif |
|
|
|
#include "imaterialsysteminternal.h" |
|
#include "tier0/dbg.h" |
|
#include "tier2/tier2.h" |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Forward declarations |
|
//----------------------------------------------------------------------------- |
|
class ITextureInternal; |
|
class IShaderAPI; |
|
class IHardwareConfigInternal; |
|
class IShaderUtil; |
|
class IShaderShadow; |
|
class IShaderDeviceMgr; |
|
class IShaderDevice; |
|
class IShaderSystemInternal; |
|
class IMaterialInternal; |
|
class IColorCorrectionSystem; |
|
class IMaterialVar; |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Constants used by the system |
|
//----------------------------------------------------------------------------- |
|
|
|
#define MATERIAL_MAX_PATH 256 |
|
|
|
// GR - limits for blured image (HDR stuff) |
|
#define MAX_BLUR_IMAGE_WIDTH 256 |
|
#define MAX_BLUR_IMAGE_HEIGHT 192 |
|
|
|
#define CLAMP_BLUR_IMAGE_WIDTH( _w ) ( ( _w < MAX_BLUR_IMAGE_WIDTH ) ? _w : MAX_BLUR_IMAGE_WIDTH ) |
|
#define CLAMP_BLUR_IMAGE_HEIGHT( _h ) ( ( _h < MAX_BLUR_IMAGE_HEIGHT ) ? _h : MAX_BLUR_IMAGE_HEIGHT ) |
|
|
|
//----------------------------------------------------------------------------- |
|
// Global structures |
|
//----------------------------------------------------------------------------- |
|
extern MaterialSystem_Config_t g_config; |
|
extern uint32 g_nDebugVarsSignature; |
|
|
|
//extern MaterialSystem_ErrorFunc_t Error; |
|
//extern MaterialSystem_WarningFunc_t Warning; |
|
|
|
extern int g_FrameNum; |
|
|
|
extern IShaderAPI* g_pShaderAPI; |
|
extern IShaderDeviceMgr* g_pShaderDeviceMgr; |
|
extern IShaderDevice* g_pShaderDevice; |
|
extern IShaderShadow* g_pShaderShadow; |
|
|
|
extern IMaterialInternal *g_pErrorMaterial; |
|
|
|
IShaderSystemInternal* ShaderSystem(); |
|
inline IShaderSystemInternal* ShaderSystem() |
|
{ |
|
extern IShaderSystemInternal *g_pShaderSystem; |
|
return g_pShaderSystem; |
|
} |
|
|
|
inline IHardwareConfigInternal *HardwareConfig() |
|
{ |
|
extern IHardwareConfigInternal* g_pHWConfig; |
|
return g_pHWConfig; |
|
} |
|
|
|
//----------------------------------------------------------------------------- |
|
// Accessor to get at the material system |
|
//----------------------------------------------------------------------------- |
|
inline IMaterialSystemInternal* MaterialSystem() |
|
{ |
|
extern IMaterialSystemInternal *g_pInternalMaterialSystem; |
|
return g_pInternalMaterialSystem; |
|
} |
|
|
|
inline IShaderUtil* ShaderUtil() |
|
{ |
|
extern IShaderUtil *g_pShaderUtil; |
|
return g_pShaderUtil; |
|
} |
|
|
|
extern IColorCorrectionSystem *g_pColorCorrectionSystem; |
|
inline IColorCorrectionSystem *ColorCorrectionSystem() |
|
{ |
|
return g_pColorCorrectionSystem; |
|
} |
|
|
|
|
|
//----------------------------------------------------------------------------- |
|
// Global methods related to material vars |
|
//----------------------------------------------------------------------------- |
|
void EnableThreadedMaterialVarAccess( bool bEnable, IMaterialVar **ppParams, int nVarCount ); |
|
|
|
|
|
#endif // MATERIALSYSTEM_GLOBAL_H
|
|
|