首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Xbox 360上的GPU编程

Xbox 360上的GPU编程
EN

Stack Overflow用户
提问于 2008-09-24 04:47:26
回答 2查看 1.9K关注 0票数 7

我正在寻找一些关于XNA在Xbox360上的洞察力,主要是如果有可能在它的GPU上运行基于向量的浮点数学?

如果有办法,你能告诉我正确的方向吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2008-09-24 05:28:07

我并不自称是这方面的专家,但希望这能为你指明一个有用的方向。

有可能吗?是。您可能已经知道GPU擅长这样的计算(因此问题出现了),并且您确实可以使用XNA控制GPU。它是否适合您的需求则是另一回事。

要使用GPU,您可能希望使用HLSL编写着色器。在Reimers的XNA上下文中有一个关于HLSL的很好的介绍,您可能想要通读一下。值得注意的是,该教程侧重于让GPU执行与图形相关的处理,但您在着色器中编写的内容取决于您。如果您的基于矢量的浮点数学是为了渲染(因此可以停留在GPU域中),那么您就走运了,可以到此为止了。

在屏幕上渲染可能不是你想要的。现在,你在HLSL中有相当大的灵活性,只要你做你的算术。然而,将结果输出到CPU并不是系统设计的方式。这对我来说变得模糊了,但Shawn Hargreaves ( XNA开发人员)在more上而不是one occasion上表示,从图形处理器获得输出(而不是在屏幕上渲染)并不是微不足道的,而且会影响性能。检索数据涉及到对GetData的调用,该调用将执行cause a pipeline stall

所以这是可以做到的。XNA框架将允许您为360 (支持Shader Model 3.0和一些扩展)编写着色器,并且可以获得这些结果,尽管它可能不足以满足您的需求。

票数 6
EN

Stack Overflow用户

发布于 2008-09-26 21:20:11

如上所述- XBox360完全能够进行任何HLSL计算,具体地说,它可以处理顶点和像素着色器模型3指令,并具有特定于平台的增强指令集。

因为HLSL实际上是基于向量的,所以你有你需要的所有工具-点,交叉,向量运算和矩阵计算。如果要将计算发送到GPU并在CPU上编辑/使用结果,可以写入纹理,然后在CPU端获取并解码它-将其用于粒子或物理交互(如水)的情况很少发生。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/125462

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档