Unity5.0 Shader 极简入门(一)
来源:互联网 发布:微店跟淘宝一样吗 编辑:程序博客网 时间:2024/06/08 13:09
前言
这篇文章比较浅显,适合美术人员初学shader阅读,文章为追求通俗易懂,有意避开严谨的学术字眼。在学成后,需学者忘掉该文章的不严谨,切莫追究。
近期还在编写中,未完待续。
什么是shader
略。网上有很多,不做叙述,不是重点。
小例子理解shader流水线
如果你拿着一块木头到雕刻车间,并把你的设计图纸输入进机器,那么过一会木头雕像就出来了。
如果你拿着“jpg”和“fbx”文件到显卡里,并把你的shader输入进去,那么过一会图像就渲染出来了。
硬件显卡是加工厂,shader是图纸方案,贴图jpg文件是原材料,把原材料和图纸给加工厂,就能造出东西。
小例子理解显卡的绘图过程
风筝由龙骨支撑柔软的布,而能够变成各种千奇百怪的形状。
你需要用竹条制作一个骨架来作支撑。接着你还要有一张绷在骨架上的柔软有弹性的布,然后在这张布上面再描绘点你喜欢的图案。
显卡造三维图像就类似风筝的制作过程
三维模型由若干顶点,连出三角面,接着在面上贴jpg。
你需要用FBX文件告诉显卡骨架长什么样,接着你还要用一张jpg图像蒙在骨架上,并告诉显卡,我想让它漂亮点。
我们看到制作过程是两个步骤
先搭建骨架,接着再画画。
我们给骨架搭建的过程起名 顶点着色阶段;
给白布绘画的过程起名 片元着色阶段。
那么shader就是制作风筝的方案
看看shader方案怎么写
打开一个标准的shader文件
里面分为四大块
头文件
自述部分,我叫啥,我怎么用。
CPU部分
原材料部分,包含要准备的图片,数值,网格,UV都是存在硬盘里面的数据,要CPU中转给GPU,因为GPU不能直接读硬盘。
GPU部分
具体方案部分,在这里描述了一个非常美妙的三维着色方案。
从CPU那里拿到了什么,先重申一下。
然后先搭建骨架,用顶点算法处理模型网格(顶点着色)
处理完网格,再在上面画图,用像素算法处理上面的贴图花纹(片元着色)
替补方案
如果GPU档次太低了,不支持这套着色方案,那么就用替补方案将就吧。
未完待续
- Unity5.0 Shader 极简入门(一)
- Unity5.0 Shader 极简入门 (二)
- Unity5.0 Shader 极简入门 (四)
- Unity5.0 Shader 极简入门 (五)
- Shader 入门(一)
- Unity5.0内置Shader解析
- shader编程 入门(一)
- Unity3D Shader入门指南(一)
- Unity3D Shader入门指南(一)
- unity3D Shader入门指南(一)
- Unity3D Shader入门指南(一)
- Unity3D着色器Shader入门(一)
- Unity3D Shader入门优秀博客(一)
- Unity3D Shader入门指南(一)
- Unity5 Compute && Geometry Shader
- Unity5 shader with lightmap
- Unity5 雾化效果(一)
- Unity5中新的Shader体系简析
- Go语言并发之美
- Text文本复制到系统剪切板
- 记录Ionic开发中,安卓5.5+使用websocket,连接错误
- 欢迎使用CSDN-markdown编辑器
- C#中get和SET
- Unity5.0 Shader 极简入门(一)
- 滑动窗问题
- Android 清单文件属性大全
- Java[探索]之基本数据类型
- Android判断应用是否在后台运行
- 破解PHPStorm2016方法
- easyui-datagrid 右冻结
- 如何优化java代码,提高执行效率
- 几个小问题