1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37
|
/* This file is part of the Spring engine (GPL v2 or later), see LICENSE.html */
#ifndef GL_CONTEXT_H
#define GL_CONTEXT_H
// NOTE: all GL persistent state should be initialized/freed within
// a registered set of context functions. This includes the
// following types of data:
//
// - Display Lists
// - Textures / SubTextures
// - Vertex Buffers
// - Frame Buffers
// - Shaders
//
// The following names are suggested:
// Member Functions:
// InitContext()
// FreeContext()
// Class Redirectors:
// StaticInitContext()
// StaticFreeContext()
// (use "data" for the pointer to the instance).
// TODO: add event driven system (like alttab, resolution changed, dualscreen, ...)
namespace GLContext
{
typedef void (*Func)(void* data);
void Init();
void Free();
void InsertHookSet(Func init, Func free, void* data);
void RemoveHookSet(Func init, Func free, void* data);
};
#endif /* GL_CONTEXT_H */
|