2014-09-20 132 views
-1

我有一个绘图程序,当你点击的时候我想改变一个特定的像素。我怎样才能做到这一点?我可以更改屏幕上像素的颜色吗?

我知道我可以创建一个颜色[]背景图像,但我需要它来快速更新,而屏幕正在改变

+0

需要了解更多关于您的程序到目前为止所做的事情。 – MickyD 2014-09-20 08:20:41

回答

0

对于C#/ XNA,你可以创建一个动态纹理缓存,和位图CPU内存中的图像,无论何时进行更改,都会将其复制到GPU动态缓冲区中...位图类具有操作像素的方法,因此您真正需要弄清的唯一部分是如何映射GPU内存并将该位图复制到纹理缓冲区。这种复制操作速度相当快..我们使用类似的技术让我们的HTML HUD显示在我们的游戏引擎中(不幸的是XNA不幸),甚至在更新每一帧时我们仍然超过60fps。

+0

有趣的 - 一个投票,没有评论,为什么..嗯mmmmm – Ascendion 2014-09-20 07:29:46

+0

我猜这是因为选民认为你的答案太抽象了;使用非XNA术语;并没有任何实际的代码。它也有**非XNA **血统也没有帮助。最后,只有'CPU'才更新一个合理大小的缓冲区才会被发送到GPU'每一帧'是效率低下的。 – MickyD 2014-09-20 08:25:42

+0

StackOverflow不适用于查询代码。这是为了答案。没有更多或更少。如果该答案包含代码,则可能是因为它具有合理性,但这不是要求。长话短说,OP所要求的是使用仅XNA技术无法完成的,而@Ascendion所说的是他最接近的。 – Falgantil 2014-09-20 09:02:40

相关问题