Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/126.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/opengl/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何获得用C+编写的图形程序+;要使用GPU而不是CPU进行渲染? 我现在正在C++中编写一个简单的图形应用程序,它只显示房间中的一个房间和对象。我想使用计算机的GPU进行此渲染,但如何在广泛兼容性(指Nvidia、Intel和ATI、新旧卡)的情况下进行此渲染。我的电脑使用AMD/ATI芯片组(而不是主板上的集成图形卡,我有一个集成到处理器芯片中的GPU,称为APU而不是CPU,还有一个专用图形卡,也是ATI)。但是,运行该程序的计算机很可能会有Intel或Nvidia的集成图形卡,或者有Nvidia卡,因此我希望它能够使用任何图形卡,但不使用CPU。我正在为这个应用程序使用glut库_C++_Opengl_Gpu_Glut - Fatal编程技术网

如何获得用C+编写的图形程序+;要使用GPU而不是CPU进行渲染? 我现在正在C++中编写一个简单的图形应用程序,它只显示房间中的一个房间和对象。我想使用计算机的GPU进行此渲染,但如何在广泛兼容性(指Nvidia、Intel和ATI、新旧卡)的情况下进行此渲染。我的电脑使用AMD/ATI芯片组(而不是主板上的集成图形卡,我有一个集成到处理器芯片中的GPU,称为APU而不是CPU,还有一个专用图形卡,也是ATI)。但是,运行该程序的计算机很可能会有Intel或Nvidia的集成图形卡,或者有Nvidia卡,因此我希望它能够使用任何图形卡,但不使用CPU。我正在为这个应用程序使用glut库

如何获得用C+编写的图形程序+;要使用GPU而不是CPU进行渲染? 我现在正在C++中编写一个简单的图形应用程序,它只显示房间中的一个房间和对象。我想使用计算机的GPU进行此渲染,但如何在广泛兼容性(指Nvidia、Intel和ATI、新旧卡)的情况下进行此渲染。我的电脑使用AMD/ATI芯片组(而不是主板上的集成图形卡,我有一个集成到处理器芯片中的GPU,称为APU而不是CPU,还有一个专用图形卡,也是ATI)。但是,运行该程序的计算机很可能会有Intel或Nvidia的集成图形卡,或者有Nvidia卡,因此我希望它能够使用任何图形卡,但不使用CPU。我正在为这个应用程序使用glut库,c++,opengl,gpu,glut,C++,Opengl,Gpu,Glut,更新:真正的问题是,教授似乎认为程序使用图形卡而不是处理器渲染图形需要额外的代码。据我现在所知,所有图形卡都支持opengl 使用抽象API将图形调用定向到GPU的驱动程序。OpenGL和Direct3D就是这样的API。OpenGL和DirectX都不是库。是的,您可以链接到一个名为libGL.so或opengl32.dll或d3dxxx.dll的库,但这些只是与GPU的驱动程序进行通信,然后GPU的驱动程序将通过API将GPU定向到任何要求的位置 或者换句话说:如果您的程序正在使用OpenG

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

使用抽象API将图形调用定向到GPU的驱动程序。OpenGL和Direct3D就是这样的API。OpenGL和DirectX都不是库。是的,您可以链接到一个名为
libGL.so
opengl32.dll
d3dxxx.dll
的库,但这些只是与GPU的驱动程序进行通信,然后GPU的驱动程序将通过API将GPU定向到任何要求的位置


或者换句话说:如果您的程序正在使用OpenGL或DirectX以及系统上标准接口库的链接(默认情况下是这样),那么它将与任何GPU一起工作,只要其驱动程序支持所讨论的API。

将鼠标移到您的标签上
OpenGL
,获得一个答案。好的,请澄清。事实证明,我的教授的意思是使用着色器来绘制东西,而不是形状。有点道理,但在实现上仍然有困难。奇怪的是,我的教授基本上是说,为了使用GPU而不是CPU,需要添加额外的代码行。你的教授是否在谈论一个将GPU用作数值计算协处理器的程序(与更传统的使用GPU为用户呈现图形的方式相反)?@cluemein:教授并不是无限的智慧源泉。而且,如果教授讲授的主题不是他们主要研究的重点,他们往往会传播大量错误信息(例如,一位系统设计教授被分配了一次关于计算机图形学的讲座,或者如果他的讲座达到了关于图形体系结构的那一章)。永远不要盲目相信你的教授,总是做你自己的研究。如果你在他们的讲座中发现了缺陷,在他们的咨询时间与他们会面并指出。不幸的是,我正在做的部分作业要求我使用GPU制作程序渲染东西。实际上它是这么说的,制作程序r需要10分ender使用GPU而不是CPU。@cluemein:您的程序已经使用OpenGL和GLUT?那么您无法将其强制应用到特定的实现上。如果您是针对本机操作系统编程,您可以通过选择一种非GPU支持的像素格式,来欺骗OpenGL接口库使用软件光栅化器回退移植。否则就没办法强制了。你能把作业发到别的地方吗?