【发布时间】:2011-04-27 14:38:55
【问题描述】:
嘿,我想制作一个带有着色器的落沙动画(粉末游戏、火药沙、wxsand...)以供练习。
为此,我需要一个存储在纹理中的字节数组 (256x256),每一帧,这个数组都会根据一组规则进行修改(一个简单的 for 循环,其中包含一些 if)。
到目前为止,我锁定了纹理,应用了规则并在每一帧解锁,但这似乎使我的 cpu 不堪重负,那么有没有办法使用着色器修改(读取,然后写入)纹理?
欢迎提供任何建议或教程链接。
【问题讨论】:
嘿,我想制作一个带有着色器的落沙动画(粉末游戏、火药沙、wxsand...)以供练习。
为此,我需要一个存储在纹理中的字节数组 (256x256),每一帧,这个数组都会根据一组规则进行修改(一个简单的 for 循环,其中包含一些 if)。
到目前为止,我锁定了纹理,应用了规则并在每一帧解锁,但这似乎使我的 cpu 不堪重负,那么有没有办法使用着色器修改(读取,然后写入)纹理?
欢迎提供任何建议或教程链接。
【问题讨论】:
您正在寻找RenderTargets ...您可以轻松地使用着色器绘制纹理,然后使用该纹理做任何您想做的事情。
要记住的一件事是您必须更改算法。编写着色器是functional programming 中的一个练习,听起来像是你写的imperatively
【讨论】: