Shader Effects 一些着色器的额外功能
来源:互联网 发布:linux socket tcp udp 编辑:程序博客网 时间:2024/05/11 21:23
Shader渐渐成为主流了,然而大多数公司我估计还是在使用普通的固定管道的功能吧,本文就总结一些用Shader能做,而用固定渲染管道不能做的功能,让大家看看shader的魅力。
1. 丢弃像素
这个是固定渲染管道所没有的功能,当然非要用固定渲染管道做差不多同样的效果是差不多可以的,就直接吧alpha值设计为0.但是之所以我说差不多,是因为用shader做的这个功能更加强大,shader是可以直接让一些特定的像素消失了,就是直接丢弃这些不需要渲染的像素,那样也优化了渲染速度。如实现如下这样的特效:
2.Phong Shading(冯氏渲染?)
这是一种处理光照的算法。一般固定渲染管道就能在vertex shader中逐个定点去计算光照强度,但是如果运用fragment shader编程就可以逐个像素点去计算光照强度,得到非常细腻的光照效果,颜色会变得很平滑。
3.计算特定的单位向量,并使用之来渲染
我们可以在fragment shader中计算单位向量,也就是计算每个像素的单位向量。这样做可以领到图像更加细腻逼真,各种特效也可以做的更加精确。
4.各向异性着色Anisotropic Shading
isotropic的意思就是光线反射的时候,同一表面反射角都一样的。Anisotropic就是同一平面反射角度都会不一样。例如头发反光,粗糙金属面,皮毛等等。
5. 数据驱动颜色
就是可以数据传递给shader。这样大大方便了做科学可视化。例如天气数据,可以根据湿度,紫外线等数据处理之后,在天气预报图上动态显示出来。
6. 利用其它数据做各种特效
例如利用物体离镜头(眼睛)的远近来决定如何画一幅图。如离镜头远的物体就用更少量的几何图形表示,近距离的时候就画图更细腻一点。
总结:
利用好shader可以让我们做游戏,动画等图像要求高的工作中做的更加优秀,利用出色的视觉效果来吸引我们的顾客。
Reference:
Graphics Shaders: Theory and Practice
- Shader Effects 一些着色器的额外功能
- Unity Shaders and Effects Cookbook (1-1) 基本的表面着色器 (Surface Shader)
- 着色器Shader,Alpha的混合
- 【Unity Shader】一个简单的着色器
- shader的三大着色器
- Material.shader 着色器
- Unity3D着色器Shader
- shader着色器
- shader 着色器
- 【OpenGL】着色器 Shader
- 初识Shader着色器
- vim的额外功能
- Unity Shaders and Effects Cookbook (6-1) 使用 alpha 参数的 半透明着色器
- 【Shader 着色器】Strumpy Shader Editor入门教程
- Unity Shader 表面着色器(Surface Shader)
- 顶点着色器(vertex shader)
- android - Shader 着色器 翻译
- 体积着色器(Volume Shader)
- Oracle给存储增加调试权限
- asp.net 简单的下载文件小程序
- 合唱比赛
- java高级篇----抽象与接口的区别
- 理财经验分享
- Shader Effects 一些着色器的额外功能
- 开个博客吧
- textview阴影
- 字符串消除
- 《shell 脚本攻略》--正则表达式的使用
- 程序能看懂,但就是不会写
- 【转AekdyCoin】求小于等于N的与N互质的数的和
- 用android LinearLayout和RelativeLayout实现精确布局
- 常用命令