2012-11-15 00:39:56 +01:00
|
|
|
#include "stdafx.h"
|
2014-06-17 17:44:03 +02:00
|
|
|
#include "Utilities/Log.h"
|
2012-11-15 00:39:56 +01:00
|
|
|
#include "OpenGL.h"
|
|
|
|
|
|
|
|
|
|
void InitProcTable()
|
|
|
|
|
{
|
2014-02-21 17:13:57 +01:00
|
|
|
#ifdef _WIN32
|
2013-06-30 10:46:29 +02:00
|
|
|
#define OPENGL_PROC(p, n) OPENGL_PROC2(p, n, gl##n)
|
2014-06-17 17:44:03 +02:00
|
|
|
#define OPENGL_PROC2(p, n, tn) /*if(!gl##n)*/ if(!(gl##n = (p)wglGetProcAddress(#tn))) LOG_ERROR(RSX, "OpenGL: initialization of " #tn " failed.")
|
2014-04-27 19:28:03 +02:00
|
|
|
#include "GLProcTable.h"
|
2013-06-30 10:46:29 +02:00
|
|
|
#undef OPENGL_PROC
|
|
|
|
|
#undef OPENGL_PROC2
|
2014-02-21 17:13:57 +01:00
|
|
|
#endif
|
2014-03-29 15:15:46 +01:00
|
|
|
#ifdef __UNIX__
|
|
|
|
|
glewExperimental = true;
|
|
|
|
|
glewInit();
|
|
|
|
|
#endif
|
2012-11-15 00:39:56 +01:00
|
|
|
}
|
|
|
|
|
|
2014-02-21 17:13:57 +01:00
|
|
|
#ifdef _WIN32
|
2013-06-30 10:46:29 +02:00
|
|
|
#define OPENGL_PROC(p, n) p gl##n = nullptr
|
|
|
|
|
#define OPENGL_PROC2(p, n, tn) OPENGL_PROC(p, n)
|
2014-04-27 19:28:03 +02:00
|
|
|
#include "GLProcTable.h"
|
2013-06-30 10:46:29 +02:00
|
|
|
#undef OPENGL_PROC
|
|
|
|
|
#undef OPENGL_PROC2
|
2014-02-21 17:13:57 +01:00
|
|
|
#endif
|
2013-06-30 10:46:29 +02:00
|
|
|
|
|
|
|
|
OpenGL::OpenGL()
|
|
|
|
|
{
|
|
|
|
|
Close();
|
|
|
|
|
Init();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
OpenGL::~OpenGL()
|
|
|
|
|
{
|
|
|
|
|
Close();
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OpenGL::Init()
|
|
|
|
|
{
|
2014-02-21 17:13:57 +01:00
|
|
|
#ifdef _WIN32
|
2013-06-30 10:46:29 +02:00
|
|
|
#define OPENGL_PROC(p, n) OPENGL_PROC2(p, n, gl##n)
|
2014-06-17 17:44:03 +02:00
|
|
|
#define OPENGL_PROC2(p, n, tn) if(!(n = (p)wglGetProcAddress(#tn))) LOG_ERROR(RSX, "OpenGL: initialization of " #tn " failed.")
|
2014-04-27 19:28:03 +02:00
|
|
|
#include "GLProcTable.h"
|
2013-06-30 10:46:29 +02:00
|
|
|
#undef OPENGL_PROC
|
|
|
|
|
#undef OPENGL_PROC2
|
2014-02-21 17:13:57 +01:00
|
|
|
#endif
|
2013-06-30 10:46:29 +02:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
void OpenGL::Close()
|
|
|
|
|
{
|
2014-02-21 17:13:57 +01:00
|
|
|
#ifdef _WIN32
|
2013-06-30 10:46:29 +02:00
|
|
|
#define OPENGL_PROC(p, n) n = nullptr
|
|
|
|
|
#define OPENGL_PROC2(p, n, tn) OPENGL_PROC(p, n)
|
2014-04-27 19:28:03 +02:00
|
|
|
#include "GLProcTable.h"
|
2013-06-30 10:46:29 +02:00
|
|
|
#undef OPENGL_PROC
|
|
|
|
|
#undef OPENGL_PROC2
|
2014-02-21 17:13:57 +01:00
|
|
|
#endif
|
2013-11-19 11:30:58 +01:00
|
|
|
}
|