是运行在GPU上的opengl代码
Is the opengl code running on GPU?
当有一个程序时,它由普通的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,但在不同的操作系统上有不同的实现。
相关文章:
- 如何在使用 SDL 编写的游戏中仅实现一部分 OpenGL 代码?
- 在Emscripten和Qt之间共享OpenGL代码
- 如何使用 Atom 编译 c++ opengl 代码
- 使用 NDK for Android 编写 OpenGL 代码
- OpenGL代码在GLFW上工作,但在QT OpenGL上不起作用
- 将OpenGL 1.x代码移植到WebGL
- 将 OpenGL 代码从 C++ 移植到 Python
- XCode 4.5简单的OpenGL C 代码问题
- 从带有OpenGL代码的C 转换为使用GUI的QT应用程序
- OpenGL代码在一台计算机上运行缓慢(但在其他计算机上则不然)
- 在Netbeans上编译和运行OpenGL代码
- OpenGL代码显示人体图形,从二进制文件中读取顶点
- 为什么我的 OpenGL 代码不起作用
- (Q) OpenGL 代码无法正确打开窗口
- 旧的OPENGL代码,希望使用glPushMatrix()
- OpenGL代码工作,不管我使用什么输入/窗口处理程序
- 是运行在GPU上的opengl代码
- 新的OpenGL代码编译,但没有发生
- 为什么这个openGL代码没有输出任何东西
- 如何正确地将OpenGL代码添加到外部函数