[请益] Unity Compute Shader

楼主: planetoid (阿没)   2017-10-01 23:41:32
大家好
最近应征工作关系实作了一个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?
感谢各位
作者: cjcat2266 (CJ Cat)   2017-10-02 00:51:00
想法没错想法没错咦,怎么字重复输入了...?其实搜寻Unity compute shader particles就有范例了https://github.com/antoinefournier/XParticle
楼主: planetoid (阿没)   2017-10-02 08:23:00
竟然是EE大学长><我有follow你的blog 十分感谢你!
作者: chowleft (什么....)   2017-10-02 11:17:00
我记得 DrawMesh 不会作 batch 的样子可以看一下 Graphics.DrawMeshInstancedIndirect
楼主: planetoid (阿没)   2017-10-02 11:38:00
今天尝试在mac上run了你贴的example 但出现platform不支援compute shader但尝试更简单的example像这个https://goo.gl/DpFRFH却又可以...不知道为什么QQ现在再研究不透过compute shader的方法做
作者: chowleft (什么....)   2017-10-02 13:25:00
所以没有一定要用 compute shader ?推荐 https://github.com/keijiro/KvantSpray偷偷推荐一下大神的作品他的作法好像是将结果存在 RenderTexture
楼主: planetoid (阿没)   2017-10-02 13:47:00
他是建议用compute shader我也在研究这个 很多东西都超过我理解范围 太厉害了
作者: chowleft (什么....)   2017-10-02 14:13:00
恩~ 因为当时没 compute shader 可用
作者: cjcat2266 (CJ Cat)   2017-10-02 14:37:00
喔喔! RenderTexture相容性也较高,不知效能是否差不多
作者: chowleft (什么....)   2017-10-02 14:54:00
我也不知....不过用 compute shader 比较有趣 XD
作者: cjcat2266 (CJ Cat)   2017-10-02 15:46:00
其实我有个长远计画,是要把以前做的Stardust的可扩充Initializer和Action的概念整合到个客制编辑器中用来生成compute shader http://bit.ly/2fK9bGK只有用到的功能才会生到compute shader中就不用在效能和功能之间找平衡做个折衷kernelGoogle Code已经变成封存模式,范例必须下载才能看...wonder.fl也下架了,好在第三方精华区beauti.fl还在http://beautifl.net/?lang=en&s=stardust&t=stardust
楼主: planetoid (阿没)   2017-10-02 16:02:00
感谢学长分享 我非主修CG的最近才开始还有好多要学啊!
作者: KanoLoa (卡)   2017-10-05 10:01:00
每次看到这版讨论graph都会觉得当初大学没有修图学是错误怪不得跳不进游戏业
作者: cjcat2266 (CJ Cat)   2017-10-05 13:43:00
自修图学不嫌晚,我也是买书啃和上网自修的,加油!我建议的流程是,先挑本游戏3D数学的书,有系统性地把基础数学工具补齐,然后找个类似Real-Time Rendering这种百科类的资料,略读一遍,大概知道当前的图学现况或者直接找Frank Luna的DX书,直接跳下去在萤幕上画出东西,赚取成就感现在网络资料多,也可以找找有没有tutorial类的教学系列跟着做,从做中学前提是CS基本功和3D数学要熟,剩下的学起来会比较顺畅
作者: KanoLoa (卡)   2017-10-05 16:33:00
谢谢开示 想不到cj竟然是自学的 不可思议啊
作者: cjcat2266 (CJ Cat)   2017-10-06 01:37:00
啊,说全自学其实也不太正确,我是第一个大学没修图学从那时开始自学,第二个大学有修图学,但是我是当复习
楼主: planetoid (阿没)   2017-10-06 09:40:00
哇感谢分享 正在苦思不知道怎么入门图学的说

Links booklink

Contact Us: admin [ a t ] ucptt.com