作者planetoid (阿没)
看板GameDesign
标题[请益] Unity Compute Shader
时间Sun Oct 1 23:41:32 2017
大家好
最近应徵工作关系实作了一个particle system
不过之前是用instantiate的方式建立很多gameObject作为particles
现在被要求改成用Graphics.DrawMesh及Compute Shader来实作particle system
由於之前没有用gpu程式开发的经验所以不太知道怎麽下手
看了很多examples还是有很多疑问
所以想来板上请问各位高手><
目前的想法是:
1.利用compute shader去计算particles的特徵(position/velocity/orientation...)
2.再利用compute buffer传回来的资料用drawmesh来画
不知道这样的理解对不对
然後documentation提到Mac OS X 不支援OpenGL 4.3
这样是不是代表不能再mac上面实作compute shader?
感谢各位
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 101.15.212.80
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/GameDesign/M.1506872495.A.30E.html
1F:推 cjcat2266: 想法没错想法没错 10/02 00:51
2F:→ cjcat2266: 咦,怎麽字重复输入了...? 10/02 00:52
3F:推 cjcat2266: 其实搜寻Unity compute shader particles就有范例了 10/02 01:19
5F:→ planetoid: 竟然是EE大学长><我有follow你的blog 十分感谢你! 10/02 08:23
6F:推 chowleft: 我记得 DrawMesh 不会作 batch 的样子 10/02 11:17
7F:→ chowleft: 可以看一下 Graphics.DrawMeshInstancedIndirect 10/02 11:17
8F:→ planetoid: 今天尝试在mac上run了你贴的example 但出现platform不 10/02 11:38
9F:→ planetoid: 支援compute shader 10/02 11:43
11F:→ planetoid: 却又可以...不知道为什麽QQ 10/02 11:44
12F:→ planetoid: 现在再研究不透过compute shader的方法做 10/02 12:18
13F:推 chowleft: 所以没有一定要用 compute shader ? 10/02 13:25
15F:→ chowleft: 偷偷推荐一下大神的作品 10/02 13:27
16F:→ chowleft: 他的作法好像是将结果存在 RenderTexture 10/02 13:28
17F:→ planetoid: 他是建议用compute shader 10/02 13:47
18F:→ planetoid: 我也在研究这个 很多东西都超过我理解范围 太厉害了 10/02 13:48
19F:推 chowleft: 恩~ 因为当时没 compute shader 可用 10/02 14:13
20F:推 cjcat2266: 喔喔! RenderTexture相容性也较高,不知效能是否差不多 10/02 14:37
21F:→ chowleft: 我也不知....不过用 compute shader 比较有趣 XD 10/02 14:54
22F:推 cjcat2266: 其实我有个长远计画,是要把以前做的Stardust的可扩充 10/02 15:46
23F:→ cjcat2266: Initializer和Action的概念整合到个客制编辑器中 10/02 15:46
25F:→ cjcat2266: 只有用到的功能才会生到compute shader中 10/02 15:48
26F:→ cjcat2266: 就不用在效能和功能之间找平衡做个折衷kernel 10/02 15:49
27F:推 cjcat2266: Google Code已经变成封存模式,范例必须下载才能看... 10/02 15:52
28F:→ cjcat2266: wonder.fl也下架了,好在第三方beauti.fl还在 10/02 15:53
30F:→ planetoid: 感谢学长分享 我非主修CG的最近才开始还有好多要学啊! 10/02 16:02
31F:→ KanoLoa: 每次看到这版讨论graph都会觉得当初大学没有修图学是错误 10/05 10:01
32F:→ KanoLoa: 怪不得跳不进游戏业 10/05 10:01
33F:推 cjcat2266: 自修图学不嫌晚,我也是买书啃和上网自修的,加油! 10/05 13:43
34F:→ cjcat2266: 我建议的流程是,先挑本游戏3D数学的书,有系统性地把 10/05 13:57
35F:→ cjcat2266: 基础数学工具补齐,然後找个类似Real-Time Rendering这 10/05 13:58
36F:→ cjcat2266: 种百科类的资料,略读一遍,大概知道当前的图学现况 10/05 13:59
37F:→ cjcat2266: 或者直接找Frank Luna的DX书,直接跳下去在萤幕上画出 10/05 13:59
38F:→ cjcat2266: 东西,赚取成就感 10/05 13:59
39F:→ cjcat2266: 现在网路资料多,也可以找找有没有tutorial类的教学系 10/05 14:00
40F:→ cjcat2266: 列跟着做,从做中学 10/05 14:00
41F:→ cjcat2266: 前提是CS基本功和3D数学要熟,剩下的学起来会比较顺畅 10/05 14:02
42F:推 KanoLoa: 谢谢开示 想不到cj竟然是自学的 不可思议啊 10/05 16:33
43F:推 cjcat2266: 啊,说全自学其实也不太正确,我是第一个大学没修图学 10/06 01:37
44F:→ cjcat2266: 从那时开始自学,第二个大学有修图学,但是我是当复习 10/06 01:38
45F:→ planetoid: 哇感谢分享 正在苦思不知道怎麽入门图学的说 10/06 09:40