NuGet ANGLE eglGetPlatformDisplayEXT NoContextError

NuGet ANGLE eglGetPlatformDisplayEXT NoContextError

本文关键字:NoContextError eglGetPlatformDisplayEXT ANGLE NuGet      更新时间:2023-10-16

我的目标是以独立于平台的方式运行OpenGL ES。 除Windows之外的每个平台都具有本机。 我正在尝试使用 ANGLE 项目,该项目现在是 Visual Studio 2015 中的 NuGet 包。

在尝试进行简单的事情时:

    EGLint attribs[] = {
        EGL_PLATFORM_ANGLE_TYPE_ANGLE,
        EGL_PLATFORM_ANGLE_TYPE_DEFAULT_ANGLE,
        EGL_NONE
    };
    auto display = eglGetPlatformDisplayEXT(EGL_PLATFORM_ANGLE_ANGLE, GetDC(NULL), attribs);

这么简单的事情会导致Microsoft C++异常:内存位置0x001CDFB4处的 NoContextError。

奇怪的是,如果我下载 ANGLE 并运行示例,它们工作正常。 即使我将代码简化为上面的代码片段。

我已经确保libEGL.dll和libGLESv2.dll是唯一加载的模块 - 也就是说,opengl32.dll没有加载。

似乎唯一的解决方案就是不使用NuGet。 显然,源代码是不同的。 如果没有源代码,它就不太有用,因为它们不提供任何 PDB 来弄清楚任何事情。