XNA:如何使用着色器写入纹理

时间:2011-04-27 14:38:55

标签: xna shader

嘿,我想制作一个用于练习的着色器的落沙动画(粉末游戏,pyrosand,wxsand ......)。

为此,我需要一个存储在纹理中的字节数组(256x256),每个帧,这个数组根据一组规则进行修改(一个简单的for循环,其中包含一些ifs)。

到目前为止,我锁定了纹理,应用了规则并且每帧都解锁了,但这似乎超过了我的cpu,所以有没有办法用着色器修改(读取,然后写入)纹理?

欢迎任何建议或教程链接。

1 个答案:

答案 0 :(得分:3)

您正在寻找RenderTargets ...您可以轻松地使用着色器绘制纹理,然后使用该纹理执行任何您喜欢的操作。

要记住的一件事是你必须改变你的算法。编写着色器是functional programmin g中的练习,听起来就像你写的那样imperatively