对opengl的UWP支持
UWP support for opengl
伙计们。我有一个用c++编写的opengl库。我知道我可以使用Angle,但正因为如此,我需要用C++编写我的整个应用程序。有没有一种方法可以在UWP中使用c++opengl,并且仍然使用c#作为主要语言?
有没有一种方法可以在UWP中使用c++opengl,并且仍然使用c#作为主要语言?
ANGLE目前是唯一使OpenGL API在UWP中运行的方法。有关更多详细信息,请参阅此线程。
如果您想使用c#中的ANGLE,可以通过interop编写自己的。你也可以用C++编写你的底层OpenGL并封装它。然后在你的逻辑层用C#调用它。
幸运的是,几天前,与你有相同需求的人在GitHub上创建了一个问题,并从@mattleibow获得了样本@mattleibow在这个帖子中分享了他的代码。有关更多详细信息,请参考C#中XAML中声明的SwapChainPanel中的OpenGL曲面。
此外,ANGLE实际上是用于将OpenGL ES转换为DirectX。因此,我建议您改用Win2D。Win2D是一个新的即时模式2D绘图框架,适用于Windows8.1和Windows10上的XAML应用程序。它建立在DirectX的高性能基础上,但旨在提供C#和.NET开发人员所期望的方便和易用性。您可以参考此视频了解更多详细信息。
我意识到你提出这个问题已经很久了,但我也需要这样做,所以我制作了一个小的C#项目,展示如何从C#中使用ANGLE。它包括从C#到GL的最小绑定(因为OpenTK还没有针对UWP(,以及从ANGLE本身到模板应用程序的一部分,ANGLE本身具有所有SwapChainPanel等设置。你可以在这里查看。
我遇到了这个问题,所以我创建了自己的库。你可以用我的新图书馆(https://github.com/hamarb123/hamarb123.SharpGLES)它在UWP(和.NET Framework(上运行OpenGLES,为了便于使用,它甚至有一个GLESSwapChainPanel类。
- 编译时未启用intel oneApi CUDA支持
- POCO::PostgreSQL:如何将std::vector支持添加到`Binder::bind`
- 使用CMake检测支持的C++标准
- 为什么istream不支持右值提取
- 当我编译webrtc服务器时,Windows上只支持clang-cl
- 扩展光电二极管探测器以支持多个传感器
- MSVC是否支持C++11样式的属性而不是__declspec
- 在使用GPU支持编译Tensorflow时,会遇到CUDA_TOOLKIT_PATH未绑定变量
- 将图像添加到资源文件夹UWP C++
- 当使用比格式支持的精度更高的精度来显示数字时,会写出什么数据
- 如何使用 OpenCV 解码在两个 UWP 应用之间发送的图像字节?
- 尝试从C++访问 UWP 的电子邮件邮件类会导致"REGDB_E_CLASSNOTREG类未注册"错误
- 错误:(-210:不支持的格式或格式组合)功能'create'中的硬件视频解码器不支持视频源
- 将 dll 文件注入 UWP
- 哪个C++规范开始支持 std::vector
- 如何检测VS C++编译器是否支持C++11?
- CertGetCertificateChain 具有支持的内存存储和证书信任列表
- Casablanca/cpprestsdk listener.support接受函数,但不支持方法
- 确定C++应用程序是否作为具有旧版支持的 UWP 应用运行
- 对opengl的UWP支持