gpt4 book ai didi

c# - SharpGL : Setting the version to 4. 0 或 GLEW 的替代品

转载 作者:行者123 更新时间:2023-11-30 20:42:34 30 4
gpt4 key购买 nike

目前我一直在制作 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。那么我该如何实现呢?

最佳答案

解决了!我在 MainWindow.xaml 中缺少 RenderingContext="FBO",就像这样

<sharpGL:OpenGLControl 
Name="openGLControl"
OpenGLDraw="OpenGLControl_OpenGLDraw"
OpenGLInitialized="openGLControl_OpenGLInitialized"
Resized="openGLControl_Resized"
KeyDown="OnKeyDownHandler"
Mouse.MouseWheel="MouseWheelEventHandler"
DrawFPS="True" RenderContextType="FBO" FrameRate="20"/>

关于c# - SharpGL : Setting the version to 4. 0 或 GLEW 的替代品,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31286269/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com