public static void InitializeSharedResources()
{
// Only setup once. This is checked multiple times to prevent crashes.
if (setupStatus == SharedResourceStatus.Initialized)
{
return;
}
try
{
// Make a permanent context to share resources.
GraphicsContext.ShareContexts = true;
var control = new OpenTK.GLControl();
control.MakeCurrent();
RenderTools.LoadTextures();
GetOpenGLSystemInfo();
ShaderTools.SetUpShaders();
setupStatus = SharedResourceStatus.Initialized;
}
catch (AccessViolationException)
{
// Context creation failed.
setupStatus = SharedResourceStatus.Failed;
}
}