NuGet ANGLE eglGetPlatformDisplayEXT NoContextError

NuGet ANGLE eglGetPlatformDisplayEXT NoContextError

我的目标是 运行 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 来解决任何问题。