首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >OpenGL如何能够在所有架构和GPU上工作?

OpenGL如何能够在所有架构和GPU上工作?
EN

Stack Overflow用户
提问于 2019-04-30 10:10:35
回答 1查看 1.4K关注 0票数 3

我已经有一段时间想在OpenGL,c++上做一个游戏了,我很想知道它到底是怎么工作的,它是什么。

没有OpenGL,计算机图形能生成吗?我在网上看到的大多数教程都展示了如何使用OpenGL绘制最基本的图形,是否可以直接与您的GPU进行接口?

OpenGL是如何在不同的CPU和操作系统上工作的?据我所知,如果像c++这样的语言想要在ARM处理器上使用,就必须重新编译它们,这不是一般GPU的情况吗?

如果你真的可以在没有OpenGL的情况下制作图形,还会有人这样做吗?一般来说,OpenGL节省了多少工作和精力,以及OpenGL为我们提供便利的系统有多复杂?

是否还有其他库(如OpenGL )是常用的?如果没有,新的图书馆最终会来取代它的位置吗?或者它是完美的工作而不去任何地方?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2019-04-30 11:35:11

它到底是怎么工作的以及它是什么?

OpenGL定义了一个您作为程序员可以用来开发图形程序(API)的接口。该接口以包含到项目中的头文件的形式提供给您。它是多平台的,这样您就可以在不同的操作系统上编译使用OpenGL的代码。管理OpenGL规范的人员不提供指定功能的实现。这是由操作系统和硬件供应商完成的。

没有OpenGL,计算机图形能生成吗?

是啊,当然。例如,您可以在程序中手动计算整个映像,然后调用一些特定于操作系统的函数将该图像放到屏幕上(就像Windows中的BitBlt )。

OpenGL是如何在不同的CPU和操作系统上工作的?

每个操作系统都有自己的OpenGL规范实现,通常调用硬件驱动程序。假设您有带有Windows操作系统和Nvidia显卡的机器。如果您运行一个调用glDrawElements的程序,它将如下所示:

代码语言:javascript
运行
复制
your_program calls glDrawElements
   which calls glDrawElements implementation written by people from Microsoft
       which calls Nvidia drivers written by people from Nvidia
           which operates the HW

如果你真的可以在没有OpenGL的情况下制作图形,还会有人这样做吗?

当然可以。有些人可能想从底层实现他们自己的渲染引擎(尽管这是真正的核心工作)。

是否还有其他库(如OpenGL )是常用的?如果没有,新的图书馆最终会来取代它的位置吗?或者它是完美的工作而不去任何地方?

好的。微软维护的DirectX只针对Windows平台和Vulkan,后者可以被视为OpenGL的继承者。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55918685

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档