Phong与Blinn-Phong
原理区别:
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相关推荐
- 基础光照-Phong 光照模型
1. Phong 光照模型 1.1 环境光照 Ambient Lighting 1.1.1 实现代码 1.2 漫反射光照 Diffuse Lighting 1.2.1 法向量 及实现代码 1.2.2 ...
- BGRABitmap图像操作9c:同时使用莫林杂点和 phong 阴影制作纹理
纹理随鼠标不停变化,有点像水面. unit Unit1;{$mode objfpc}{$H+}interfaceusesClasses, SysUtils, FileUtil, Forms, Cont ...
- opengl光照效果_【图形学基础 | Shader】Blinn-Phong 光照模型
在学习threejs时候,看到了MeshPhongMaterial这个api,了解到了Blinn-Phong 光照模型. Blinn-Phong 光照模型,又称为 Blinn-phong 反射模型(B ...
- 5、计算机图形学——着色与光照模型
一.着色(shading)的概念 着色,顾名思义就是给物体上色.在计算机图形学中,着色就是确定物体上或者图形上的每个像素的颜色. 像素或者物体表面的颜色受光照和材质的影响,光照中光线的颜色一定程度上决 ...
- 【Unity Shader】(六) ------ 复杂的光照(上)
笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题. [Unity Sha ...
- 【Aladdin Unity3D Shader编程】之三 光照模型(二)
高光反射模型 Specular=直射光*pow(cosθ,高光的参数) θ:是反射光和视野方向的夹角 编写高光反射Shader Shader "AladdinShader/07 Specul ...
- AMD Cubemapgen for physically based rendering
JUNE 10, 2012 57 COMMENTS Version : 1.67 – Living blog – First version was 4 September 2011 AMD Cube ...
- 各种渲染软件设计理论详解
来源: 戴永池的日志 Mental Ray(简称MR) Mental Ray是早期出现的两个重量级的渲染器之一(另外一个是Renderman),为德国Mental Images公司的产品.在刚推出的 ...
- Unity3D 的物理渲染和光照模型
阅读目录 漫反射面:郎伯模型 朗伯着色器(Lambertian shader) Toon shading 镜面: Blinn-Phong模型 在Unity5中物理渲染 Unity 中使用的着色技术 结 ...
- UnityShader9:光照基础回顾
一.需要提前了解的 基于经验的基础光照,相比于后面物理光照的学习,简单不少: 光照基础:https://blog.csdn.net/Jaihk662/article/details/106624451 ...
最新文章
- MFC中的字符串转换
- mysql分库主键_分库主键设计-Mysql
- arm920T与arm926的区别[转载]
- 【转】iOS-Core-Animation-Advanced-Techniques(六)
- php盒子模型,CSS盒子模型介绍
- oracle 表空间写文件,Oracle表空间和数据文件管理
- 安卓牛客专项练习2020.12.10
- 公网访问_一文读懂阿里云访问公网的实现方式
- JavaScript关于json的处理
- 微信授权获取用户openid前端实现
- 易错丨Oracle 每日一题系列合集
- 遗传相似系数怎么计算_如何计算遗传变异系数
- ELK(ElasticSearch, Logstash, Kibana)实时日志分析平台部署
- 全国计算机office二级考试内容,2017年国家计算机二级office考试内容
- 蛋白质组学数据分析——(1)原理
- CC2430DMA学习
- 道与术丨华为云数据库战略启示录
- 为什么计算机是32位64位,64位是x86还是x64_为什么64位是X64,32位是X86?
- 无心插柳OR志在必得?阿里推“来往”的意图
- itk读取.img格式的医学图像