作者doasgloria (青柳立夏)
看板GameDesign
标题[请益] 在Unity中执行这种功能最快的方式
时间Tue Mar 8 15:24:01 2022
工作上很常使用到像素计算排列的功能
比如说一张 texture 进来
把它的rgb反过来显示
在unity中我现在使用 Compute shader来进行
程式码可能会如下:
float3 color =
float3(0, 0, 0);
for (
int j = 0; j < 3; j++) {
color[j] = InputImg[id.xy].rgb[2 - j];
}
Result[id.xy] =
float4(color, 1);
然後在C#那边 输入输出都是 RenderTexture ARGB32 这样~
功能上都没甚麽问题可以完成~
但是最近在使用的装置是 Android RK3399
效能就不敷使用了 , 重点输出是4K解析度
想问一下 做这类功能用Compute Shader这样做已经是最快的了吗
如果改用unity的pixel shader之类的会更有效能吗 ??
希望有了解或有经验的大大分享 >///<
感谢 ^__^ !!
--
如果我们要把磁铁棒放进线圈,
线圈会说「不!!不要过来!!」而发出阻力不让磁铁棒靠近。
但是如果我们要把放进去的磁铁棒从线圈拿走, 「傲娇是一种
线圈反而会说「我…我又没有叫你走!!」而发出阻力不让磁铁棒离开。 自然现象」
这种现象不就是傲娇吗! 新科科人杂志
所以傲娇这东西根本不是新梗,19世纪就有科学家发现傲娇了。 /民明书房
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 1.34.104.205 (台湾)
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1646724246.A.8CA.html
1F:推 wulouise: unity没有matrix transform之类的功能? 03/08 20:40
2F:推 moremusic: 试试看用task或thread,平行处理 03/08 23:35
3F:→ azetsu: 如果只是要单纯显示这个效果 03/10 05:45
4F:→ azetsu: 应该直接透过shader画出来就好吧? 03/10 05:45
5F:→ azetsu: 省下texrure在cpu端的in out 03/10 05:45
6F:推 meowyih: 我没用unity,但是看code就是针对自己的pixel做rgb操作 03/10 17:49
7F:→ meowyih: 而不会需要附近的pixel资讯对吧? 那最快的就跟楼上说的 03/10 17:49
8F:→ meowyih: 一样不是吗? 直接写shader让显卡同时处理大量的pixel @@ 03/10 17:50
9F:推 NDark: CUDA 03/11 23:07