繁体   English   中英

Opentk Opengl 版本

[英]Opentk Opengl Version

我有一个使用 OpenTK 的 Windows C# 应用程序。 该应用程序执行一些相对简单的绘图,但也会调用 C++ 开发的 dll 以进行额外的 openGL 绘图/渲染。

该应用程序和 c++ dll 是针对 openGL 1.1 版开发的,因此当我将 OpenTK GLControl 的创建从 1.1 版修改为 3.0 版时,如下所示:

private OpenTK.GLControl m_OpenGLDisplay = new OpenTK.GLControl(new OpenTK.Graphics.GraphicsMode(32, 24, 8, 0), 1, 1, OpenTK.Graphics.GraphicsContextFlags.Default);

private OpenTK.GLControl m_OpenGLDisplay = new OpenTK.GLControl(new OpenTK.Graphics.GraphicsMode(32, 24, 8, 0), 3, 0, OpenTK.Graphics.GraphicsContextFlags.ForwardCompatible);

我原以为会遇到无穷无尽的问题。 不幸的是,无论我输入什么版本,应用程序似乎都没有什么不同 - 最高 4.0(包括来自 GL.GetError 的错误状态)。

任何解释将不胜感激。

为什么会有问题? OpenGL向后兼容,因此针对一个版本编写的代码将在更高版本上执行。

OpenGL 破坏兼容性的唯一一次是核心/兼容性配置文件的区别,并且核心配置文件始终是可选的。 但核心配置文件也是唯一的强制实现。 也就是说,如果一个实现提供 3.2 内核,它可能会也可能不会提供 3.2 兼容性。 不允许反向; 如果它提供 3.2 兼容性,它也必须提供 3.2 内核。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM