开发者社区> 最美的回忆> 正文

计算边缘光照

简介:
+关注继续查看

原理简单说一下,主要是用来计算边缘光照的,首先通过视线与法线的夹角来找到模型的边缘,然后再根据距离的远近来控制发射光的强度。

[cpp] view plain copy

half rim = 1.0 - saturate(dot (normalize(IN.viewDir), IN.worldNormal));
o.Emission = _RimColor.rgb * pow (rim, _RimPower);

IN.viewDir是当前视角向量,IN.worldNormal是物体的法线。dot是计算视角和法线的点积,等于视角和法线夹角的cos值,Cos的值域是1-0,1-cos就成了0-1,在夹角90度时达到最大值,正好用来模拟侧光的强度(与视角成90度的部分光线最强,就是边缘光了)
把这个值的变化率用一个pow函数(rim的_rimPower次方)进行放大,就能强化边缘发亮的效果。

http://blog.csdn.net/silangquan/article/details/39580631
本文转自jiahuafu博客园博客,原文链接http://www.cnblogs.com/jiahuafu/p/6897404.html如需转载请自行联系原作者

jiahuafu

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
基于PSO优化的路径规划避障系统仿真,沿着障碍物边缘平滑的进行转向
基于PSO优化的路径规划避障系统仿真,沿着障碍物边缘平滑的进行转向
60 0
JM
3D 实时全局光照技术(二)——直接光照
前言游戏引擎中的直接光照一般分为两大类:光源和环境光。光源一般有:平行光、点光源、聚光源、面光源等,而作为直接光照的环境光一般是指基于图片的光照(IBL-Image Based Lighting),这里的环境光要跟环境光遮蔽(AO-Ambient Occlusion) 中的环境光区分一下,AO 概念中的环境光一般指的是间接光照,更多差异可以看看这个知乎问答:Environment Light 和 
99 0
【pytorch实现】用卷积核检测图中对角方向边缘(小练习)
【pytorch实现】用卷积核检测图中对角方向边缘(小练习)
59 0
边缘分布 | 学习笔记
快速学习边缘分布
83 0
基于多目标视频图像边缘特征的核相关滤波跟踪算法
基于多目标视频图像边缘特征的核相关滤波跟踪算法
85 0
基于边缘保留滤波实现人脸磨皮的算法
基于边缘保留滤波实现人脸磨皮的算法
72 0
webgl智慧楼宇发光系列之线性采样下高斯模糊
webgl智慧楼宇发光系列之线性采样下高斯模糊 效率问题 线性采样 代码讲解 总结 参考文档
122 0
关于二轮差速小车轮速计算和里程计计算
关于二轮差速小车轮速计算和里程计计算
390 0
积分计算曲线围绕X轴旋转形成的立体体积
积分计算曲线围绕X轴旋转形成的立体体积 若曲线y=x^2+1和直线y=-x+3围成的区域,再绕X坐标轴旋转一周,形成一个立体,计算该立体的体积。
1608 0
+关注
最美的回忆
文章
问答
视频
文章排行榜
最热
最新
相关电子书
更多
《EdgeRoutine 边缘程序》
立即下载
低代码开发师(初级)实战教程
立即下载
阿里巴巴DevOps 最佳实践手册
立即下载