Mercurial > hg > orthanc-stone
diff Framework/OpenGL/OpenGLProgram.h @ 947:1091b2adeb5a toa2019081001
Fixed animation frame stopping when returning false + big work on the OpenGL
objects to make them lost context-safe + debug code to forcefully tag a
context as lost + debug macros
author | Benjamin Golinvaux <bgo@osimis.io> |
---|---|
date | Sat, 10 Aug 2019 13:07:31 +0200 |
parents | e36e69a380a5 |
children | 2d8ab34c8c91 |
line wrap: on
line diff
--- a/Framework/OpenGL/OpenGLProgram.h Tue Aug 06 15:07:23 2019 +0200 +++ b/Framework/OpenGL/OpenGLProgram.h Sat Aug 10 13:07:31 2019 +0200 @@ -30,14 +30,15 @@ { namespace OpenGL { + class IOpenGLContext; + class OpenGLProgram : public boost::noncopyable { - private: - GLuint program_; - public: // WARNING: A global OpenGL context must be active to create this object! - OpenGLProgram(); + // the context is only passed so that it can be checked for loss + // when destructing the program resource + OpenGLProgram(OpenGL::IOpenGLContext& context); ~OpenGLProgram(); @@ -50,6 +51,9 @@ GLint GetUniformLocation(const std::string& name); GLint GetAttributeLocation(const std::string& name); + private: + GLuint program_; + OpenGL::IOpenGLContext& context_; }; } }