Anisotropic Specular Shader
【Anisotropic Specular】
Anisotropic Specular(各向异性反射)模拟表面凹槽的方向性。就像CD表面一样。CD的表面凹槽是有方向的。
BlinnPhong中Specular强度的由N*H得计算得到,如下:

在Anisotropic的简单实现中,需要Anisotropic Normal Map扰动后,由sin(radians(offset))转化一下,如下:

首先,经Anisotropic Normal Map扰动后,表面法线已经具备凹槽特性。
其次,Sin函数的目的中为了产生一个环。如下图。如果没有sin,则不会产生光环。
最后,_AnisoOffset的作用是控制光环位置。使得光环可以水平位移,达到你想要的任何位置。

Anisotropic Specular Shader的更多相关文章
- 【Unity Shader】四、高光反射Specular Shader例子
http://www.cnblogs.com/guxin/p/unity-diffuse-shader-demo.html 在上文中已经学习了漫反射Diffuse Shader和环境光,现在再在此基础 ...
- Phong & BlinnPhong Specular Shader
[Phong Specular Shader] 如果物体离摄像机很远,或者不需要高精度镜面反射,则Phong模型适用. Phong模型如下: 使用前必须指定使用自定义Phong. [BlinnPhon ...
- 编写Shader时的一些性能考虑
编写shader时的一些建议:1.只计算需要计算的东西:2.通常,需要渲染的像素比顶点数多,而顶点数又比物体数多很多.所以如果可以,尽量将运算从PS移到VS,或直接通过script来设置某些固定值:3 ...
- 【Unity Shaders】Mobile Shader Adjustment —— 为手机定制Shader
本系列主要參考<Unity Shaders and Effects Cookbook>一书(感谢原书作者),同一时候会加上一点个人理解或拓展. 这里是本书全部的插图.这里是本书所需的代码和 ...
- 【Aladdin Unity3D Shader编程】之三 光照模型(二)
高光反射模型 Specular=直射光*pow(cosθ,高光的参数) θ:是反射光和视野方向的夹角 编写高光反射Shader Shader "AladdinShader/07 Specul ...
- 顶点/片元 shader 总结
Cg顶点程序必须在结构中传递顶点数据.几种常用的顶点结构定义在文件UnityCG.cginc中,有如下三种结构体: 1.appdata_base: 包含顶点位置,法线和一个纹理坐标.2.appdata ...
- shader程序员需要注意的优化Tips
在写shader的时候,其实一些写法对于其执行影响非常大,而且由于gpu和cpu在架构上的不同,代码的优化思想也不一样,最近一直在写几个shader,为了性能问题,查阅了很多资料,把一些tips总结下 ...
- S老师 Shader 学习
Mesh Filter : 存储一个Mesh(网格,模型的网格,就是模型的由哪些三角面组成,组成一个什么样子的模型,三角面的一些顶点信息) Mesh Renderer:用来渲染一个模型的外观,就是样子 ...
- WikiBooks/Cg Programming
https://en.wikibooks.org/wiki/Cg_Programming Basics Minimal Shader(about shaders, materials, and gam ...
随机推荐
- Web应用程序开发知识点回顾
asp.net 1.<%@ Page Language="C#"AutoEventWireup="true" CodeFile="Home.as ...
- wpf 动态得到label的宽度(无刷新情况)
var l =newLabel(){Content="Hello"}; l.Measure(newSize(double.PositiveInfinity,double.Posit ...
- 洛谷P2192HXY玩卡片
题目大意 给你n个数,只包括5和0. 从中取一些数,要求组成的数是90的倍数. 如: 4 5 0 5 0 结果是0 题解 90=9*10,如果一个是90的倍数一定末尾有0,那么这个 数一定是10的倍数 ...
- oracle 之 手动建库
1.-- 查看服务器 ORA 环境变量情况[oracle@orastb ~]$ env|grep ORAORACLE_BASE=/u01/app/oracleORACLE_HOME=/u01/app/ ...
- linux的mysql
mysql https://www.cnblogs.com/cnblogsfans/archive/2009/09/21/1570942.html https://blog.csdn.net/Smal ...
- springboot各种集成
fastjson 两个方法 @Configuration public class WebMvcConfigurer extends WebMvcConfigurerAdapter { @Overri ...
- eclipse导出jar,再转换为exe可执行程序
转自: https://blog.csdn.net/mommomm/article/details/8227876 若只想知道如何把jar转换成exe,直接看第四步即可. 一.导出jar文件: 选中你 ...
- 干净的 js测试页面
<!DOCTYPE html><html lang="en" > <head> <meta charset="utf-8&quo ...
- Java 成员变量和局部变量
1.成员变量 在类中定义,用来描述对象将要有什么. 2.局部变量 在类的方法中定义,在方法中临时保存数据. 成员变量和局部变量的区别 作用域不同: 局部变量的作用域仅限于定义它的方法 成员变量的作用域 ...
- [Java][Web]ServletContext 方法的应用
由于一个 Web 应用中的所有 Servlet 共享同一个 ServletContext 对象,所以多个 Servlet 通过 ServletContext 对象实现数据共享. ServletCont ...