OpenGL如何能够在所有架构和GPU上运行?

问题描述 投票:1回答:1

我一直想在OpenGL,c ++中制作游戏一段时间,我希望能够解释它是如何工作的以及它是什么。

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

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

如果你确实可以在没有OpenGL的情况下制作图形,那么还有人这样做吗? OpenGL一般可以节省多少工作和精力,OpenGL为我们提供的系统有多复杂?

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

opengl gpu
1个回答
3
投票

它究竟是如何工作的以及它是什么?

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

没有OpenGL可以制作计算机图形吗?

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

OpenGL如何在不同的CPU和操作系统上运行?

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

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由Microsoft维护,仅针对Windows平台和可被视为OpenGL后继的Vulkan。

© www.soinside.com 2019 - 2024. All rights reserved.