SharpGL:将版本设置为4.0或替换GLEW
本文关键字:替换 GLEW 版本 设置 SharpGL | 更新日期: 2023-09-27 18:01:27
目前我正在制作c# -WPF-OpenGL应用程序。我遵循了这个http://www.codeproject.com/Articles/265903/Using-OpenGL-in-a-WPF-Application教程,并且能够运行示例项目。然而,第一次调用一个函数,不是OpenGL 1.1.0的一部分失败,即我的代码看起来像这样
private void OpenGLControl_OpenGLInitialized(object Sender, OpenGLEventArgs args)
{
OpenGL gl = args.OpenGL;
GLuint glError;
while ( (glError = gl.GetError()) != OpenGL.GL_NO_ERROR )
{
Console.WriteLine( gl.GetErrorDescription(glError) );
}
Console.WriteLine( gl.GetString(OpenGL.Version) ); //Prints out 1.1.0
GLuint hVertexShader;
hVertexShader = gl.CreateShader(OpenGL.GL_VERTEX_SHADER);//Compiles, but raises an exception, also would gl.CreateProgramm() or other functions
}
不知何故这个链接https://github.com/dwmkerr/sharpgl/wiki/Specifying-OpenGL-Version不能帮助我将版本设置为4.2。那么我怎么才能做到呢?
解决!我在主窗口中丢失了RenderingContext="FBO"。Xaml,像这样
<sharpGL:OpenGLControl
Name="openGLControl"
OpenGLDraw="OpenGLControl_OpenGLDraw"
OpenGLInitialized="openGLControl_OpenGLInitialized"
Resized="openGLControl_Resized"
KeyDown="OnKeyDownHandler"
Mouse.MouseWheel="MouseWheelEventHandler"
DrawFPS="True" RenderContextType="FBO" FrameRate="20"/>