PTT
Submit
Submit
选择语言
正體中文
简体中文
PTT
GameDesign
[程式] ComputeShader传送整数阵列的奇怪问题
楼主:
doasgloria
(青柳立夏)
2020-07-20 12:36:05
最近尝试使用unity compute shader中
传送 Array 的操作~
遇到一个奇怪的问题
以下是做一个简单的渐层
https://i.imgur.com/YVuXH3l.png
这是一个 200*200的 RawImage
然后用Compute Shader输出的RenderTexture贴上
Shader 内容只要这样:
https://i.imgur.com/CYxEU2a.png
只要三行就能完成
主要就是这一行:
color[0] = float(id.x) / 200 ;
就可以使RGB的R 从(0/200)渐层到(199/200)
作者:
cjcat2266
(CJ Cat)
2020-07-20 17:45:00
网络上好像不少人说Unity的SetInts有问题我用SetInts设定int4的时候没问题,大阵列就有问题改用ComputeBuffer试试吧,这个一直都没问题
作者: a4s5d6999
2020-07-20 17:57:00
有人似乎 遇到相同的bug 所有data只有前1/4有成功送到shader
https://forum.unity.com/threads/computeshader-setin
ts-failing-or-me-failing.669829/
楼主:
doasgloria
(青柳立夏)
2020-07-21 09:02:00
> /// <原来如此 是个坑 0..0
作者:
zxc9764315
(Norus)
2020-07-21 09:11:00
跟GPU memory的alignment好像有点关系,你在C#端用四倍大的阵列,每隔四个int存一个,就可以正确作用
楼主:
doasgloria
(青柳立夏)
2020-07-21 11:22:00
我来试试看楼上大大的方法 XD但是这样会造成操作上的困难 看来传送阵列还是buffer
作者:
cjcat2266
(CJ Cat)
2020-07-21 12:16:00
Unity文件没有写清楚,但DirectX的文件有提到
https://bit.ly/39h2a7J
这样用int4 array或compute buffer才不会浪费内存但int4 array又得写条件式,不如用compute buffer
楼主:
doasgloria
(青柳立夏)
2020-07-21 12:43:00
没错 XD 改用compute buffer了 反而比较好做 ^0^
继续阅读
[情报] 泥巴兔黏土特效工具公测开始
cjcat2266
[程式] 在UE4 开放场景建立Navigation Mesh
yekdniw
[情报] Unreal Fest Online
csvt32745
[心得] 北美游戏业近两年面试心得
JKT48
[程式] Unity的Shader程式码有办法隐藏起来吗
doasgloria
[情报] 自主游戏开发得以延续的方法─经验谈翻译
thirdjean
[情报] 2020台北游戏开发者论坛7/11~12线上免费
rhox
[程式] 泥巴兔特效蒙太奇
cjcat2266
[程式] 了解UE4 Landscape的组成元件
yekdniw
[美术] 使用透明通道绘制头发
sampp1213205
Links
booklink
Contact Us: admin [ a t ] ucptt.com