Phong & BlinnPhong Specular Shader】的更多相关文章

[Phong Specular Shader] 如果物体离摄像机很远,或者不需要高精度镜面反射,则Phong模型适用. Phong模型如下: 使用前必须指定使用自定义Phong. [BlinnPhong Specular Shader] 前一篇博文中记录了Unity自带的BlinnPhong算法,下面是自定义BlinnPhong模型的算法实现.…
http://www.cnblogs.com/guxin/p/unity-diffuse-shader-demo.html 在上文中已经学习了漫反射Diffuse Shader和环境光,现在再在此基础上加入高光反射Specular Shader. 高光反射的计算公式: 高光反射Specular = 直射光 * pow(max(0, cos(反射光方向和视野方向的夹角)), 高光反射参数) 当然中间的max(0, cos(反射光方向和视野方向的夹角)部分也可以改用半兰伯特模型以增强背光面的光照效果…
计算反射向量 Phong用到的是反射向量,计算反射向量的公式是 R = 2*N(dot(N, L)) - L 这个公式是根据向量的投影公式以及平行四边形法则推导出来的 详细步骤请看这篇文章,讲的非常好 http://www.cnblogs.com/graphics/archive/2013/02/21/2920627.html   Shader "Phong" { Properties { _MainTex ("Texture", 2D) = "white…
[Anisotropic Specular] Anisotropic Specular(各向异性反射)模拟表面凹槽的方向性.就像CD表面一样.CD的表面凹槽是有方向的. BlinnPhong中Specular强度的由N*H得计算得到,如下: 在Anisotropic的简单实现中,需要Anisotropic Normal Map扰动后,由sin(radians(offset))转化一下,如下: 首先,经Anisotropic Normal Map扰动后,表面法线已经具备凹槽特性. 其次,Sin函数…
[旧博客转移 - 2016年4月4日 13:13 ] 油腻的师姐: 以前玩过一款很火热的端游<剑灵>,剑灵刚出来的时候,某网页游戏广告视频中有句台词:"我不断的在寻找,有你的世界在哪里",该广告中的人物,音效都模仿了剑灵,而<剑灵>中的人物模型表面看上去油光发亮,所以就被网友改成了:"我不断的洗澡,油腻的师姐在哪里" 像这样(皮肤表面的高光)   这样     还有~ 这样   其实这是使用了镜面反射着色,除了剑灵,其他很多高品质的AAA级游…
高光反射模型 Specular=直射光*pow(cosθ,高光的参数) θ:是反射光和视野方向的夹角 编写高光反射Shader Shader "AladdinShader/07 Specular Vertex Shader" { Properties { _Diffuse("Diffuse",Color)=(1,1,1,1) //添加自身的颜色 } SubShader { Pass { Tags{"LightMode"="Forward…
Unity ShaderLib :  CGPROGRAM  ENDCG之间是CG代码,之外的代码功能都由ShaderLib提供,CG中的一些方法比如tex2D(...)也是ShaderLib对CG进行了封装 SurfaceShader全部函数Demo Shader "Nafio/BaseSurf" { Properties { _MainTex("_MainTex",2D) = "white" {} _Color("Color"…
http://www.doppioslash.com/ https://github.com/Apress/physically-based-shader-dev-for-unity-2017 Part I: Introduction to Shaders In Unity Chapter 1: How Shader Development Works (已看) Chapter 2: Your First Unity Shader (已看) Chapter 3: The Graphics Pip…
Surface Shader: (1)必须放在SubShdader块,不能放在Pass内部: (2)#pragma sufrace surfaceFunction lightModel [optionalparams] (3)格式 CG规定了声明为表面着色器的方法(就是我们这里的surf)的参数类型和名字,因此我们没有权利决定surf的输入输出参数的类型,只能按照规定写.这个规定就是第一个参数是一个Input结构,第二个参数是一个inout的SurfaceOutput结构. struct Sur…
Mesh Filter : 存储一个Mesh(网格,模型的网格,就是模型的由哪些三角面组成,组成一个什么样子的模型,三角面的一些顶点信息) Mesh Renderer:用来渲染一个模型的外观,就是样子, 按照 mesh给它皮肤,给它颜色 通过Material(材质)控制模型渲染的样子 Material 贴图(可以没有,可以是一个单纯的颜色) Shader 书籍 unity shader 入门精要(乐乐程序猿) unity 3d shaderlab开发实战详解(第二版) unity .x shad…