Unity3D Compute Shader 晋级 网格模拟与奶茶泡泡【四】
来源:互联网 发布:java poi api下载 编辑:程序博客网 时间:2024/05/01 22:11
Unity3D Compute Shader 晋级 网格模拟与特效【四】
1.每一个不曾舞蹈的日子,都是对生命的辜负….
2.Compute Shader对于她自己来说,所有能实现的效果只是冰山一角
http://blog.csdn.net/column/details/shader-style.html by 恬纳微晰
研究Compute Shader仅此而已,是该你做点something by yourself……..
Compute Shader Show
难以信服的网格拼凑的图片
以前是点拼凑的图片,现在是网格了,信不信拉倒。。。扭曲网格,让你信一信
哟!这就不好意思了,我不是恶意的,,,哟,你看,还能笑。。。
(不知有没有恶意,图片来自猎豹wifi软件中的)奶茶泡泡,我反正是信以为真了
喝完了奶茶,就要吹个奶茶泡泡啊!快吹一个,你看真的变大了。。。
最后吹成这样了,你们猜,它是爆了,还是干嘛了。。。
让眼见成为现实的秘密
- 网格实现起来是朵么难
实验到这儿,说明已经成功了,说明每个网格的确是一个网格一张图。 怎么画网格,就是那个小方块
就是这个,Vertor3[]包含了方块点的位置
不过,你注意没有,里面有两个点重复了,如果把它们按照顺序在纸上连起来,你就知道这画方块的原理了,其实就是2个三角形的组合。当然,你得这样保存到buffer中,我要绘制它。。。。、、、、
这是画的效果,这儿其实一看画了一张图,其实所有的图都重叠在一起了,
如果你不信,那么在你尝试的时候,如果你在camera离图近的时候会有卡顿,如果你又有充分的经验的话,那是face的重叠造成的,这儿很关键,重叠是非常耗性能的。画出其他效果
这儿是我的发挥了,其他神马的效果都可以做出来技术的革新保存每个像素到每个网格
如果你做过vertex fragment shader的话,发现能轻松从模型数据中获得uv坐标,
但那个问题就来了,这儿没有任何神马模型数据,而是存世界坐标??????如果你的第一想法是,虚拟模型空间,像这样的话:
你会发现,这是多么痛苦的事情。。。。。所以这儿我采用了一种我自己发明的Compute Shader 模型UV绑定法
就是这样
能够顺利在世界坐标中绑定,其理由是,我喜欢在ComputeShader中计算物理效果。。。
不过你可以改为UNITY_MATRIX_MVP,这样虽然感觉UNITY_MATRIX_MVP做了虚拟模型空间,但以后你就知道了,做其它复杂效果就会闹出翔。。。。最后Compute Shader 模型UV绑定法的效果
特别技术
Instance 实例化
说起实例化,其实是个非常棒的革新,让GPU省了许多重复操作的事情。。
上图中的number 即为实例化的数据。。。。可想而知你自己试了才知道,同时对比性能分析
如果前面都知道了,网格的重叠,那么这儿的红线处就是为了什么???我当时就没有数过来,你可以算啊,不是有计算器么
可想而知,这之前得重复了多少张。。。。物理效果之奶茶泡泡
估计最神奇之处就是这儿的奶茶泡泡,如果是这样的话,那么前面的技术都是百搭了???
不是说过了么?Compute Shader中做运算才是发挥GPGPU的魅力之处
不过这种魅力是基于矩阵级思想,有时不能以CPU的思想来玩代码。。不然那一坨管线都不知重复了同一种指令。
代码是最诚实的,也是最有权威的
Use in C#
Use in Compute Shader
Use in Shader
我们说说话吧
1.我觉得Compute Shader什么都可以做,实时运算才是未来所要的。
2.当然其实不一定要用Verctor3[]来代码绘制网格,可以用mesh来获得外部的模型数据。
3.我可以想象,它的价值不局限于这儿的奶茶泡泡。。。。。
- Unity3D Compute Shader 晋级 网格模拟与奶茶泡泡【四】
- unity3d 从零开始compute shader
- Unity3D Compute Shader 新解 简单体绘制技术与点吸引【三】
- Unity3D Compute shader 新解-图片粒子矩阵【一】
- Unity3D Compute shader 新解粒子堆积矩阵【二】
- Bubbles Shader in Houdini泡泡泡泡泡泡泡泡泡泡
- Compute Shader (DX11)
- DirectX 11 - Compute Shader
- Unity5 Compute && Geometry Shader
- GLSL-Compute Shader
- Unity3D Shader官方教程翻译(四)
- Unity3D Shader官方教程翻译(四)----Shader语法:SubShader
- Unity3D Shader官方教程翻译(四)----Shader语法:SubShader
- Unity3D Shader官方教程翻译(四)----Shader语法:SubShader
- Unity3D Shader官方教程翻译(四)----Shader语法:SubShader
- Unity3D Shader官方教程翻译(四)----Shader语法:SubShader
- Unity3D Shader官方教程翻译(四)----Shader语法:SubShader
- 使用计算着色器(Compute Shader)模拟粒子效果【OpenGL】【GLSL】
- 字符串逆序输出(nyoj266)
- [dp]1396:Select Team
- Xcode6添加pch文件
- Entity Framework 全面教程详解(转)
- 5555555555555555555555555
- Unity3D Compute Shader 晋级 网格模拟与奶茶泡泡【四】
- 第十一周阅读程序(1)
- java动画
- IOS 开发学习 十四 与CGRect相关的几个结构体和画图有关的几个函数
- ABAP利用HTTP调用要用户验证的web service
- java tomcat下有wtpwebapps文件夹 和 webapps文件夹区别
- JavaSE----static关键字的用法
- java核心JVM
- curl_easy_setopt函数介绍