// (c) Tuomas J. Lukka #ifndef VOB_VOBS_GLSTATE #define VOB_VOBS_GLSTATE #include #include #include #include #include #ifndef VOB_DEFINED #define VOB_DEFINED(t) #endif namespace Vob { namespace Vobs { using namespace Vob::VecGL; struct TransMatrix { enum { NTrans = 1 }; Token matrix; template void params(F &f) { f(matrix); } template void render(const T &t) const { glPushAttrib(GL_TRANSFORM_BIT); glMatrixMode(matrix); glLoadIdentity(); t.performGL(); glPopAttrib(); } }; VOB_DEFINED(TransMatrix); } } #endif