原理区别:

phong使用视线与入射光线反射向量的夹角:

blinn-phong使用halfway(视线与入射光线的中间方向)与normal的夹角:

效果区别:

1.phong因为视线与光反射向量夹角大于90度时取0,因此有明显的边缘

2.由于blinn-phong所用计算的夹角往往小于phong所使用的夹角,因此blinn-phong的点积值更大,需要更大(往往为2-4倍)的exp值才能达成与phong相似效果

代码区别:

void main()
{[...]float spec = 0.0;if(blinn){vec3 halfwayDir = normalize(lightDir + viewDir);  spec = pow(max(dot(normal, halfwayDir), 0.0), 16.0);}else{vec3 reflectDir = reflect(-lightDir, normal);spec = pow(max(dot(viewDir, reflectDir), 0.0), 8.0);}
}

Phong与Blinn-Phong相关推荐

  1. 基础光照-Phong 光照模型

    1. Phong 光照模型 1.1 环境光照 Ambient Lighting 1.1.1 实现代码 1.2 漫反射光照 Diffuse Lighting 1.2.1 法向量 及实现代码 1.2.2 ...

  2. BGRABitmap图像操作9c:同时使用莫林杂点和 phong 阴影制作纹理

    纹理随鼠标不停变化,有点像水面. unit Unit1;{$mode objfpc}{$H+}interfaceusesClasses, SysUtils, FileUtil, Forms, Cont ...

  3. opengl光照效果_【图形学基础 | Shader】Blinn-Phong 光照模型

    在学习threejs时候,看到了MeshPhongMaterial这个api,了解到了Blinn-Phong 光照模型. Blinn-Phong 光照模型,又称为 Blinn-phong 反射模型(B ...

  4. 5、计算机图形学——着色与光照模型

    一.着色(shading)的概念 着色,顾名思义就是给物体上色.在计算机图形学中,着色就是确定物体上或者图形上的每个像素的颜色. 像素或者物体表面的颜色受光照和材质的影响,光照中光线的颜色一定程度上决 ...

  5. 【Unity Shader】(六) ------ 复杂的光照(上)

    笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题.              [Unity Sha ...

  6. 【Aladdin Unity3D Shader编程】之三 光照模型(二)

    高光反射模型 Specular=直射光*pow(cosθ,高光的参数) θ:是反射光和视野方向的夹角 编写高光反射Shader Shader "AladdinShader/07 Specul ...

  7. AMD Cubemapgen for physically based rendering

    JUNE 10, 2012 57 COMMENTS Version : 1.67 – Living blog – First version was 4 September 2011 AMD Cube ...

  8. 各种渲染软件设计理论详解

    来源: 戴永池的日志 Mental Ray(简称MR)  Mental Ray是早期出现的两个重量级的渲染器之一(另外一个是Renderman),为德国Mental Images公司的产品.在刚推出的 ...

  9. Unity3D 的物理渲染和光照模型

    阅读目录 漫反射面:郎伯模型 朗伯着色器(Lambertian shader) Toon shading 镜面: Blinn-Phong模型 在Unity5中物理渲染 Unity 中使用的着色技术 结 ...

  10. UnityShader9:光照基础回顾

    一.需要提前了解的 基于经验的基础光照,相比于后面物理光照的学习,简单不少: 光照基础:https://blog.csdn.net/Jaihk662/article/details/106624451 ...

最新文章

  1. MFC中的字符串转换
  2. mysql分库主键_分库主键设计-Mysql
  3. arm920T与arm926的区别[转载]
  4. 【转】iOS-Core-Animation-Advanced-Techniques(六)
  5. php盒子模型,CSS盒子模型介绍
  6. oracle 表空间写文件,Oracle表空间和数据文件管理
  7. 安卓牛客专项练习2020.12.10
  8. 公网访问_一文读懂阿里云访问公网的实现方式
  9. JavaScript关于json的处理
  10. 微信授权获取用户openid前端实现
  11. 易错丨Oracle 每日一题系列合集
  12. 遗传相似系数怎么计算_如何计算遗传变异系数
  13. ELK(ElasticSearch, Logstash, Kibana)实时日志分析平台部署
  14. 全国计算机office二级考试内容,2017年国家计算机二级office考试内容
  15. 蛋白质组学数据分析——(1)原理
  16. CC2430DMA学习
  17. 道与术丨华为云数据库战略启示录
  18. 为什么计算机是32位64位,64位是x86还是x64_为什么64位是X64,32位是X86?
  19. 无心插柳OR志在必得?阿里推“来往”的意图
  20. itk读取.img格式的医学图像

热门文章

  1. TIDB-分布式关系型数据库讲解
  2. AHB2APB桥接器设计(2)——同步桥设计的介绍
  3. 微信分身 服务器,看了这个,你还敢用分身版微信吗?
  4. 基于python的深度学习框架有_《用Python实现深度学习框架》上市
  5. Swagger接口测试工具。
  6. 用HTML制作一首诗
  7. echarts 关系图graph
  8. python模拟足球比赛_如何使用python从livescores获取足球比赛结果
  9. [MFC]OnMouseMove移动位置和OnMouseWheel缩放实现
  10. 判断字符串是否是数字