Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008 #ifndef __SP_SHAREDRENDERCONTEXT_OPENGL_H__
00009 #define __SP_SHAREDRENDERCONTEXT_OPENGL_H__
00010
00011
00012 #include "Base/spStandard.hpp"
00013
00014 #if defined(SP_COMPILE_WITH_OPENGL)
00015
00016
00017 #include "RenderSystem/spSharedRenderContext.hpp"
00018
00019 #if defined(SP_PLATFORM_WINDOWS)
00020 # include <windows.h>
00021 # include <GL/gl.h>
00022 # include <GL/wglext.h>
00023 #elif defined(SP_PLATFORM_LINUX)
00024 # include <GL/gl.h>
00025 # include <GL/glx.h>
00026 #elif defined(SP_PLATFORM_MACOSX)
00027 # include <OpenGL/gl.h>
00028 #endif
00029
00030
00031 namespace sp
00032 {
00033 namespace video
00034 {
00035
00036
00037 class OpenGLRenderContext;
00038
00039 class SP_EXPORT OpenGLSharedRenderContext : public SharedRenderContext
00040 {
00041
00042 public:
00043
00044 OpenGLSharedRenderContext(OpenGLRenderContext* RootRenderContext);
00045 ~OpenGLSharedRenderContext();
00046
00047
00048
00049 bool activate();
00050 bool deactivate();
00051
00052 private:
00053
00054
00055
00056 #if defined(SP_PLATFORM_WINDOWS)
00057
00058 HGLRC RenderContext_;
00059 HDC DeviceContext_;
00060
00061 #elif defined(SP_PLATFORM_LINUX)
00062
00063 GLXContext RenderContext_;
00064 Display* Display_;
00065 Window Window_;
00066 XVisualInfo* Visual_;
00067
00068 #endif
00069
00070 };
00071
00072
00073 }
00074
00075 }
00076
00077
00078 #endif
00079
00080 #endif
00081
00082
00083
00084