U3D Shader半兰伯特模型
兰伯特光照模型——在平面某点漫反射光的光强与该反射点的法向量和入射光角度的余弦值成正比。逐像素光照可以得到更加哦平滑的光照效果。但是,即便使用了逐像素漫反射光照,有一个问题仍然存在。在光照无法达到的区域,模型的外观通常是全黑的,没有任何明暗变化,这会使模型的背光区域看起来就像一个平面一样,失去了模型细节表现。实际上我们可以通过添加环境光来得到非全黑的效果,但即便这样仍然无法解决背光面明暗一样的缺点。为此,有一种改善技术,就是半兰伯特光照模型,是在原兰伯特光照模型的基础上进行了一个简单的修改。
片元着色器中计算漫反射光照的C#代码:
fixed halfLambert=dot(worldNormal,worldLightDir)*0.5+0.5;
fixed3 diffuse=_LightCorlor0.rgb*_Diffuse.rgb*halfLambert;fixed3 color=ambient+diffuse;return fixed4(color,1.0);
U3D Shader半兰伯特模型相关推荐
- 【Unity Shader】(2)半兰伯特模型 构建光照
在unity的Shader中使用半兰伯特模型来构建光照 在认识半兰伯特模型之前,建议查看一下我之前的兰伯特模型构建光照 兰伯特光照模型 半兰伯特光照模型 由于兰伯特模型的计算公式仅截取了[0,1]的光 ...
- 标准光照模型-半兰伯特模型
Valve公司在<半条命>中提出了一种技术,叫做半兰伯特光照模型 通过这个方式,可以把点积的结果从[-1,1]到[0,1]范围内,也就是说,对于模型的背光面,从原模型中点积结果会映射到同一 ...
- Shader学习3——半兰伯特
半兰伯特其实就是把暗的地方提亮了一些,在数值上就是获取到的光源强度* 0.5 + 0.5,也就是原来是0的会变成0.5,原来是1的还是1. 半兰伯特:漫反射颜色 = 光源颜色 x 材质的漫反射颜色 x ...
- Unity shader 使用 半兰伯特 (Half-Lambert)漫反射会使得模型在没有直射光的情况下漆黑一片
问题: Unity shader 使用 半兰伯特 (Half-Lambert)漫反射会使得模型在没有直射光的情况下漆黑一片,原因不得而知. 使用半兰伯特漫反射代码如下: *************** ...
- Unity shader学习-漫反射-兰伯特光照模型和半兰伯特光照模型
兰伯特漫反射公式:Diffuse = 直射光颜色 *物体颜色* max(0,cos夹角(光和法线的夹角) ) 下面给出顶点漫反射代码: Shader "Unlit/005" { ...
- Unity Shader漫反射光照模型与半兰伯特光照模型
文章目录 一.基础光照模型中漫反射部分的计算公式 二.逐顶点光照实现 逐顶点代码 逐顶点效果图 三.逐像素光照模型实现 逐像素代码 逐像素效果图 四.半兰伯特光照模型实现 广义半兰伯特光照模型公式 半 ...
- 漫反射:兰伯特和半兰伯特
兰伯特定律(Lambert is law); 反射光线的强度与表面法线和光源方向之间夹角的余弦值成正比: 漫反射公式:C diffuse=(C light * M diffuse)max(0, < ...
- 6.2 漫反射-半兰伯特
//漫反射 半兰伯特 diffuse = (c.m)(0.5(n.i)+0.5) //模型背光面有可以有明暗变化 Shader "Unity shader book/Chapter 6/Ha ...
- 9.半兰伯特光照模型
前情提要:前面一节的漫反射实际上是根据兰伯特光照模型来进行实现的 但这种做法有个缺点就是顶点法线和光的夹角大于90度的时候的成色是完全黑的这和我们生活中见到的事物是不一样的.所以就有了新的光照模型-- ...
最新文章
- 类 求数组最大最小平均
- 公有变量java_Java反射机制(只可以访问公有的方法或者变量)
- 第十六届全国大学生智能汽车竞赛航天智慧物流总决赛暨第二届“航天杯”移动机器人AI创新技术挑战赛圆满举办
- sql 返回日期的年月部分_公示|2020年11月部分志愿活动名单公示
- Copy++ 复制 PDF、CAJ 内容时,自动删除空格、空行,以及自动翻译[Win]
- Android 软键盘盖住输入框的问题
- create-react-app创建的项目npm run build之后静态文件找不到
- iOS地图 -- 定位初使用
- 论文重复率太高咋办?Python来帮你解决
- 20道常见的kafka面试题以及答案
- 分享从零开始学习网络设备配置--2.1 交换机基本配置
- go中的interface
- 教你撸一个网页聊天室
- PNG格式的证件照怎么转成JPG格式?教你一招轻松转换
- t32 emulation debug port failed
- Java 使用POI 给Word添加水印
- iOS定位从 “始终”定位,改变成“使用期间”定位
- Altium Designer 17及以上版本快速画出Keep-Out layer层以便于覆铜操作
- Nginx 配置一个域名使用HTTPS 后其它域名访问HTTPS时也会跳转到该站点解决
- 蓝桥杯大学本科B组考点整理
热门文章
- Linux 下 find(文件查找)命令的用法总结
- 【期末复习】转眼到了C++的复习时间(更新中)
- MVC 音乐商店 第 10 部分: 导航和网站设计、 结论的最后更新
- matlab 饼状图 纹理,Matlab小波下纹理特征
- STM32F4(正点原子)学习笔记(一):GPIO及其小实验
- Java——Java语言基础
- 创世茶小Y系列—茶元后·龙门飞瀑来袭
- 【极简教程】用 Mkdocs 库发布你的网站
- 紫禁繁花服务器维护,紫禁繁花跨服活动内容一览_紫禁繁花跨服活动详情_玩游戏网...
- 图说大型网站的技术架构