为什么在SharpGL.dll中发生异常?
问题描述:
我试图绘制一些简单的东西,如使用VBO的三角形。为什么在SharpGL.dll中发生异常?
的示例代码设置在这里github上:
下面的 '使用' 语句正确编译我。
using SharpGL;
using SharpGL.SceneGraph;
using SharpGL.VertexBuffers;
我的程序崩溃,在这一行:
vertexBufferArray.Create(gl);
它给了我以下异常:
An unhandled exception of type 'System.Exception' occurred in SharpGL.dll
Additional information: Extension function glGenVertexArrays not supported
为什么会在程序编译创建()函数,如果一个公司依赖不支持?确定依赖关系是否实际可用以及如何正确安装的最好方法是什么?
答
你可以检查功能使用openGLControl.OpenGL.IsExtensionFunctionSupported("glGenVertexArrays");
然而,这将始终返回false只要没有当前呈现上下文(见here)的支持。这就是为我抛出异常并在应用程序的稍后调用方法为我工作的原因(请注意,这些示例也给出了相同的例外)。
您可以检查,看看是否RenderContext中使用openGLControl.OpenGL.RenderContextProvider.RenderContextHandle != IntPtr.Zero
我有同样的问题,但与'glCreateShader'功能设置,我自己的项目中,并在样本项目。你有没有找到解决方案? – ColmanJ 2014-12-27 09:20:21