// Copyright 2013 Dolphin Emulator Project // Licensed under GPLv2 // Refer to the license.txt file included. #ifndef _VERTEXSHADERMANAGER_H #define _VERTEXSHADERMANAGER_H #include "VertexShaderGen.h" class PointerWrap; struct ProjectionHack { float sign; float value; ProjectionHack() { } ProjectionHack(float new_sign, float new_value) : sign(new_sign), value(new_value) {} }; void UpdateProjectionHack(int iParams[], std::string sParams[]); void UpdateViewportWithCorrection(); // The non-API dependent parts. class VertexShaderManager { public: static void Init(); static void Dirty(); static void Shutdown(); static void DoState(PointerWrap &p); // constant management static void SetConstants(); static void InvalidateXFRange(int start, int end); static void SetTexMatrixChangedA(u32 value); static void SetTexMatrixChangedB(u32 value); static void SetViewportChanged(); static void SetProjectionChanged(); static void SetMaterialColorChanged(int index); static void TranslateView(float x, float y); static void RotateView(float x, float y); static void ResetView(); }; #endif // _VERTEXSHADERMANAGER_H