check for OpenGL version 2.0+

This commit is contained in:
Matthias Mailänder
2014-05-04 12:21:38 +02:00
parent ce78683782
commit f8bb956496
2 changed files with 24 additions and 0 deletions

View File

@@ -16,6 +16,24 @@ namespace OpenRA.Renderer.Sdl2
{
public static class ErrorHandler
{
static Version OpenGLversion;
public static void CheckGlVersion()
{
var version = GL.GetString(StringName.Version).Split(' ')[0].Split('.');
int major;
int.TryParse(version[0], out major);
int minor;
int.TryParse(version[1], out minor);
Console.WriteLine("Detected OpenGL version: {0}.{1}".F(major, minor));
OpenGLversion = new Version(major, minor);
if (major < 2)
{
WriteGraphicsLog("OpenRA requires OpenGL version 2.0 or greater.");
throw new InvalidProgramException("OpenGL Version Error: See graphics.log for details.");
}
}
public static void CheckGlError()
{
var n = GL.GetError();
@@ -40,6 +58,11 @@ namespace OpenRA.Renderer.Sdl2
}
Log.Write("graphics", "Renderer: {0}", GL.GetString(StringName.Renderer));
Log.Write("graphics", "GL Version: {0}", GL.GetString(StringName.Version));
if (OpenGLversion.Major < 2)
{
Log.Write("graphics", "Note: OpenRA requires OpenGL version 2.0+.\n"
+"Please update your graphics card drivers to the latest version.\n");
}
Log.Write("graphics", "Shader Version: {0}", GL.GetString(StringName.ShadingLanguageVersion));
Log.Write("graphics", "Available extensions:");
Log.Write("graphics", GL.GetString(StringName.Extensions));