如何使用C ++编写的图形程序使用GPU而不是CPU进行渲染?

时间:2015-02-22 03:48:12

标签: c++ opengl gpu glut

我目前正在用C ++编写一个简单的图形应用程序,它只显示房间里的房间和物体。我想使用计算机的GPU进行渲染,但是如何通过广泛的兼容性来实现这一点(意味着Nvidia,Intel和ATI,新旧卡)。我的电脑使用AMD / ATI芯片组(而不是主板上的集成显卡,我将GPU集成到处理器芯片中,称为APU而不是CPU,以及专用显卡,也是ATI)。但是,运行该程序的计算机很可能要么有Intel或Nvidia的集成显卡,要么有Nvidia卡,所以我希望它能够使用任何显卡,但不能使用CPU。我正在使用glut库来实现这个应用程序

更新:真正的问题是,教授似乎认为程序使用图形卡需要额外的代码而不是处理器来渲染图形。据我所知,所有显卡都支持opengl。

1 个答案:

答案 0 :(得分:3)

使用抽象API将绘图调用定向到GPU的驱动程序。 OpenGL和Direct3D就是这样的API。 OpenGL和DirectX都不是库。是的,您可以链接到名为libGL.soopengl32.dlld3dxxx.dll的某个库,但这些只是与GPU的驱动程序进行通信,然后GPU会将GPU引导至其所需的任何内容。被要求通过API。

或者换句话说:如果您的程序使用的是OpenGL或DirectX,并且链接到系统上的标准接口库(默认情况下会发生这种情况),那么它可以与任何GPU一起使用,只要它的驱动程序支持有问题的API。