c++ - 跨平台硬件原生 OpenGL 库,可能带有多媒体?

标签 c++ opengl cross-platform native multimedia

我正在寻找打开 OpenGL 上下文并在 Windows、macOS、带有 X、android 和 iOS 的 Linux 发行版中绘制 native OpenGL 的能力

我不想依赖实际 UI 的“本地”设备框架,我不需要使用本地组件,我想要的只是一个 OpenGL 上下文以在 OpenGL 中本地绘制。许多跨平台 SDK,如 Marmalade 和 MoSync,都专注于使用 native UI 组件和类似的东西,我只需要一个 OpenGl 上下文来按照我的意图进行绘制,绝对不需要 native UI 功能,但是,访问如果可能,需要麦克风、摄像头和其他传感器等原生硬件功能,以及访问音频/视频/网络。

我不想用QT,我想做一些更接近硬件的东西在底层工作。一般的想法是制作一个轻量级的跨平台硬件加速 GUI,编写的级别足够低以真正成为硬件原生的,而不依赖于任何原生软件框架。我知道对于 android 我可能必须使用 java 包装器来启动 native 代码,但我的想法是将这个包装器最小化,只需很少的修改即可部署低级别,因此希望真正的跨平台代码,这只是依赖于 OpenGL 硬件和 OpenGL 上下文才能与.h 一起工作

所以我需要一个最低限度的解决方案来尽可能避免使用非跨平台功能。

当时我想到的唯一库是 SDL,但我不确定它是否支持 android 和 iOS 属性,因此除了库推荐之外,也欢迎更多有关 SDL 如何处理 android 和 iOS 设备及其硬件的信息.

最佳答案

怎么样:

  • GLFW
  • SDL
  • GLUT(FreeGLUT 或 OpenGLUT)
  • Blender 的 GHOST 框架?

本质上,他们会打开一个窗口,在其上创建一个 OpenGL 上下文,为您提供输入事件,剩下的就交给您了。

关于c++ - 跨平台硬件原生 OpenGL 库,可能带有多媒体?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8200947/

相关文章:

c++ - CoGetClassObject 在 ATL 项目中给出了许多 First-chance 异常。我应该担心吗?

java - 制服中的平移/旋转/缩放和矩阵

opengl - 具有统一 block (UBO) 的实例名称无法使用 OpenGL/GLSL

ios - 在 xcode 上运行 ionic 跨平台项目时出现错误

cross-platform - 如何在 C++Builder 中有条件地编译不同平台的代码?

c++ - COM msado15.dll 程序已停止运行

c++ - SIMULINK 模型的 C/C++ 包装器

c++ - SDL1.2,另一个窗口中的窗口

c++ - 错误 : expected constructor, 析构函数,或 '(' token 之前的类型转换?

java - 如果使用 gl_color 则 GLSL 不会渲染