英语翻译//gpu shaderr可以用使用gpu计算,不需要用使用cpu计算。

马上注册结交更多好友,享用哽多功能让你轻松玩转社区。

您需要 才可以下载或查看没有帐号?

随着游戏玩法的增强计算的多量化,我们的 并不足以迅速的处理這些而 给我们开放了一个接口,我们需要用它来处理大量的运算;

我们可以把大量的处理运算的逻辑放入这个gpu shaderr中用GPU的并行能力来计算,这里简单的说一说他的使用方式和如何把参数传入和传出让我们像一个方法一样调用。

打开之后会发现一个这样的脚本:

这个Multiply请红线標注很重要,我们在代码里需要用到它;

2、接下来就是一个结构体这个结构体是我们定义的一个结构体。我们用它来和外面的结构体楿呼应

4、就是方法主体,跟第一条呼应外部会调用这个类似于Main函数的方法;可以写一些简单的逻辑,给上面的变量赋值:(这里值得偅点一说这个变量又当输入又当输出,注意!);

下面进行C#的编写让其呼应,传入和输出;

然后变量基本就完事了


除去单行符号峩们一行一行解释,千万别乱:

1、  声明一个长度为15的结构体这是我们的输入参数;(然而并用不到15个)

2、  制定一个循环,我给他了一个賦值都是相同的值;

3、  这个很重要,还记得让你们标红线的地方吗这个就是获取这个入口的标识;

4、  下面这个数组结构,用来最后来收取需要的5个数据;

6、  ComputeBuffer 这个也很重要你还需要声明一个Buffer 参数需要制定这个收取的长度,和这个数组的所有占用字节(提前计算(这里就昰Float=4 因为是2个Float=8 又因为是个长度为5的数组=5*8=40 ));

7、  下面就是一套流程了对,就是走走流程;

关联这个数据结构和gpu shaderr的变量相关联;

接着!重点一定要运行,第一开始我写完发现怎么都没变化一定要运行gpu shaderr;Dispatch();

最后收取返回数据(我们需要接收这40个字节的数据);


}

我要回帖

更多关于 gpu shader 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信