是运行在GPU上的opengl代码

Is the opengl code running on GPU?

本文关键字:opengl 代码 上的 GPU 运行      更新时间:2023-10-16

当有一个程序时,它由普通的c++代码和opengl代码组成。因此,c++和opengl都被编译并链接到ELF。而且,它们似乎都运行在CPU上。

为什么opengl代码比c++代码更能在屏幕上显示?

为什么opengl代码比c++代码更有能力在屏幕上绘制?

因为OpenGL只是将绘图命令发送给GPU,然后GPU进行批量工作。请注意,也有OpenGL实现不是GPU加速的,因此不会比CPU上运行的其他软件光栅化器更快。

除非你在谈论GLSL,否则"c++代码"answers"OpenGL代码"之间没有区别。都是C或c++,这取决于你在构建什么。OpenGL是一个API,一个包含函数的库。

你的代码调用OpenGL函数,它在功能上与你可能调用的任何其他c++函数没有什么不同。c++中的函数做什么,取决于它们是如何实现的。

OpenGL函数告诉GPU做什么,使用GPU特定的结构。这就是OpenGL的作用:抽象出硬件的细节,这样你就可以编写不依赖于硬件的代码。调用OpenGL函数的代码应该可以在任何支持最小GL版本的OpenGL实现上工作(以及扩展,如果你正在使用这些)。

类似地,std::fstream抽象了Windows和Linux文件访问命令之间的差异。为用户提供相同的API,但在不同的操作系统上有不同的实现。