#ifndef _gpuCacheConfig_h_
#define _gpuCacheConfig_h_
#include <stddef.h>
#include <maya/MColor.h>
#include <maya/MString.h>
namespace GPUCache {
class Config
{
public:
static void refresh();
static const MColor kDefaultGrayColor;
static const MColor kDefaultTransparency;
static const unsigned short kLineStippleShortDashed;
static const unsigned short kLineStippleDotted;
static const MString kDisplayFilter;
enum VP2OverrideAPI {
kMPxSubSceneOverride,
kMPxDrawOverride
};
static VP2OverrideAPI vp2OverrideAPI();
static bool isIgnoringUVs();
static size_t minVertsForVBOs();
static size_t maxVBOCount();
static size_t maxVBOSize();
static bool useVertexArrayWhenVRAMIsLow();
static bool useVertexArrayForGLPicking();
static bool useGLPrimitivesInsteadOfVA();
static bool emulateTwoSidedLighting();
static size_t openGLPickingWireframeThreshold();
static size_t openGLPickingSurfaceThreshold();
static bool backgroundReading();
static size_t backgroundReadingRefresh();
static bool useHardwareInstancing();
static size_t hardwareInstancingThreshold();
static void initialize();
private:
static bool sInitialized;
static size_t sDefaultVP2OverrideAPI;
static bool sDefaultIsIgnoringUVs;
static size_t sDefaultMinVertsForVBOs;
static size_t sDefaultMaxVBOCount;
static size_t sDefaultMaxVBOSize;
static bool sDefaultUseVertexArrayWhenVRAMIsLow;
static bool sDefaultUseVertexArrayForGLPicking;
static bool sDefaultUseGLPrimitivesInsteadOfVA;
static bool sDefaultEmulateTwoSidedLighting;
static size_t sDefaultOpenGLPickingWireframeThreshold;
static size_t sDefaultOpenGLPickingSurfaceThreshold;
static bool sDefaultBackgroundReading;
static size_t sDefaultBackgroundReadingRefresh;
static bool sDefaultUseHardwareInstancing;
static size_t sDefaultHardwareInstancingThreshold;
static size_t sVP2OverrideAPI;
static bool sIsIgnoringUVs;
static size_t sMinVertsForVBOs;
static size_t sMaxVBOCount;
static size_t sMaxVBOSize;
static bool sUseVertexArrayWhenVRAMIsLow;
static bool sUseVertexArrayForGLPicking;
static bool sUseGLPrimitivesInsteadOfVA;
static bool sEmulateTwoSidedLighting;
static size_t sOpenGLPickingWireframeThreshold;
static size_t sOpenGLPickingSurfaceThreshold;
static bool sBackgroundReading;
static size_t sBackgroundReadingRefresh;
static bool sUseHardwareInstancing;
static size_t sHardwareInstancingThreshold;
};
}
#endif