46 lines
1.3 KiB
C#
46 lines
1.3 KiB
C#
using System;
|
|
using static Quik.OpenGL.GLEnum;
|
|
|
|
namespace Quik.OpenGL
|
|
{
|
|
[System.Serializable]
|
|
public class GraphicsException : System.Exception
|
|
{
|
|
public GraphicsException()
|
|
{
|
|
AddExtraData();
|
|
}
|
|
|
|
public GraphicsException(string message) : base(message)
|
|
{
|
|
AddExtraData();
|
|
}
|
|
|
|
public GraphicsException(string message, System.Exception inner) : base(message, inner)
|
|
{
|
|
AddExtraData();
|
|
}
|
|
|
|
protected GraphicsException(
|
|
System.Runtime.Serialization.SerializationInfo info,
|
|
System.Runtime.Serialization.StreamingContext context) : base(info, context)
|
|
{
|
|
AddExtraData();
|
|
}
|
|
|
|
private void AddExtraData()
|
|
{
|
|
GL.Get(GL_MAJOR_VERSION, out int major);
|
|
GL.Get(GL_MINOR_VERSION, out int minor);
|
|
|
|
string version = GL.GetString(GL_VERSION);
|
|
string vendor = GL.GetString(GL_VENDOR);
|
|
string renderer = GL.GetString(GL_RENDERER);
|
|
|
|
Data.Add("OpenGL Version", new Version(major, minor));
|
|
Data.Add("OpenGL Version String", version);
|
|
Data.Add("OpenGL Vendor", vendor);
|
|
Data.Add("OpenGL Renderer", renderer);
|
|
}
|
|
}
|
|
} |