当有程序时,它由普通的C++代码和opengl代码组成。因此,C++和opengl都被编译并链接到ELF。而且,看起来它们都运行在CPU上。是否在GPU上运行opengl代码?
为什么opengl代码比C++代码在屏幕上绘画更强大?
当有程序时,它由普通的C++代码和opengl代码组成。因此,C++和opengl都被编译并链接到ELF。而且,看起来它们都运行在CPU上。是否在GPU上运行opengl代码?
为什么opengl代码比C++代码在屏幕上绘画更强大?
为什么opengl代码比C++代码更能在屏幕上绘画?
因为OpenGL只是向GPU发送绘图命令,GPU正在做大量的工作。请注意,也有OpenGL实现不是GPU加速的,因此不会比运行在CPU上的其他软件光栅器更快。
除非你在谈论GLSL,否则“C++代码”和“OpenGL代码”之间没有区别。这只是C或C++,取决于你正在构建的东西。 OpenGL是一个API,是一个包含执行任务的函数的库。
您的代码调用OpenGL函数,它的功能与您可能调用的任何其他C++函数没有区别。 C++中的函数根据它们的实现方式做了一些事情。
OpenGL函数使用GPU特定的结构告诉GPU该做什么。这就是OpenGL的作用:抽象出硬件的细节,以便编写与硬件无关的代码。调用OpenGL函数的代码应该可以在任何支持最低GL版本的OpenGL实现上工作(如果使用这些扩展,则可以使用扩展)。
同样,std::fstream
也提取了Windows和Linux文件访问命令之间的差异。用户使用相同的API,但在不同的操作系统上有不同的实现。
现在我有两个问题: – gemfield 2011-12-29 03:02:15
对于两个极小的值,我想。 – genpfault 2011-12-29 03:32:54