added a test for compatibility

This commit is contained in:
Anselme FRANÇOIS 2015-10-17 21:04:38 +02:00
parent 9c2c8315b0
commit de4936399e
2 changed files with 15 additions and 10 deletions

View File

@ -9,24 +9,29 @@
bool SparrowRenderer::modernOpenglAvailable = false;
void SparrowRenderer::initGL(int width, int height)
void SparrowRenderer::initGL(int width, int height, bool forceCrappy)
{
glewExperimental = GL_TRUE;
GLenum err = glewInit();
if (GLEW_OK != err)
fprintf(stderr, "Warning: glewInit failed!\n");
if (!GLEW_ARB_vertex_program ||
!GLEW_ARB_fragment_program ||
!GLEW_ARB_texture_float ||
!GLEW_ARB_draw_buffers ||
!GLEW_ARB_framebuffer_object ||
!glewIsSupported("GL_VERSION_3_3"))
if (!forceCrappy &&
GLEW_ARB_vertex_program &&
GLEW_ARB_fragment_program &&
GLEW_ARB_texture_float &&
GLEW_ARB_draw_buffers &&
GLEW_ARB_framebuffer_object &&
glewIsSupported("GL_VERSION_3_3") &&
GLEW_VERSION_3_3)
{
modernOpenglAvailable = true;
printf("Modern OpenGL available.\n");
}
else
{
modernOpenglAvailable = false;
fprintf(stderr, "Warning: modern OpenGL not supported!\nEnabling fallback crappy rendering mode\n");
}
else
modernOpenglAvailable = true;
std::cout << "OpenGL version " << glGetString(GL_VERSION) << std::endl;
std::cout << "GLSL version " << glGetString(GL_SHADING_LANGUAGE_VERSION) << std::endl;

View File

@ -11,7 +11,7 @@ class SparrowRenderer
{
public:
// main methods
void initGL(int width, int height);
void initGL(int width, int height, bool forceCrappy = false);
void destroyGL();
void resizeGL(int width, int height);
void renderGL();