(转)基本光照模型公式
光照模型
3D渲染中, 物体表面的光照计算公式为:
I = 环境光(Iambient) + 漫反射光(Idiffuse) + 镜面高光(Ispecular);
其中,环境光(ambient)计算公式为:
Iambient = Aintensity * Acolor ; (Aintensity表示环境光强度,Acolor表示环境光颜色)
漫反射光(diffuse)计算公式为:
Idiffuse = Dintensity*Dcolor*N.L ; (Dintensity表示漫反射强度,Dcolor表示漫反射光颜色,N为该点的法向量,L为光源向量)
镜面光照(specular)计算公式为:
Ispecular = Sintensity*Scolor*(R.V)n ; (Sintensity表示镜面光照强度,Scolor表示镜面光颜色,R为光的反射向量,V为观察者向量)
综上所得:整个光照公式为:
I = Aintensity * Acolor + Dintensity*Dcolor*N.L + Sintensity*Scolor*(R.V)n ;
将一些值合并,并使用白色作为光照颜色,则上述公式可简化为:
I = A + D*N.L + (R.V)n
转载于:https://www.cnblogs.com/wonderKK/archive/2012/04/10/2441425.html
(转)基本光照模型公式相关推荐
- (转)光照模型及cg实现
经典光照模型(illumination model) 物体表面光照颜色由入射光.物体材质,以及材质和光的交互规律共同决定. 由于环境光给予物体各个点的光照强度相同,且没有方向之分,所以在只有环境光的情 ...
- 兰伯特光照模型(Lambert Lighting)和半兰伯特光照模型(Half-Lanbert)
关于漫反射 光打到凹凸不平的平面上,光线会被反射到四面八方,被称为漫反射 关于这种模型,由于光线由于分散,所以进入人眼的光线强度和观察角度没有区别 在A点和B点接收到的光线强度是一样的 在漫反射下,光 ...
- WebGL光照模型渲染立方体
WebGL光照渲染立方体 本文是WebGL电子书的1.9节内容 本节课对WebGL光照的介绍主要目的是让你对WebGL光照,以及如何在代码层面实现WebGL光照算法有个大致的轮廓认知,计算机图形学中关 ...
- Unity Shader漫反射光照模型与半兰伯特光照模型
文章目录 一.基础光照模型中漫反射部分的计算公式 二.逐顶点光照实现 逐顶点代码 逐顶点效果图 三.逐像素光照模型实现 逐像素代码 逐像素效果图 四.半兰伯特光照模型实现 广义半兰伯特光照模型公式 半 ...
- Unity Shader入门精要学习笔记 - 第6章 开始 Unity 中的基础光照
转自冯乐乐的<Unity Shader入门精要> 通常来讲,我们要模拟真实的光照环境来生成一张图像,需要考虑3种物理现象. 首先,光线从光源中被发射出来. 然后,光线和场景中的一些物体相交 ...
- 7.Phong 和 BlinnPhong
Lambert漫反射光照模型,这是一个用来模拟粗糙表面对光线的漫反射现象的经验模型,对于纸张.粗糙墙壁等等来说,这个模型或许够用,但对于金属这样的光滑表面来说,我们就需要使用Phong模型来模拟光滑表 ...
- OpenGL 的渲染流水线
一.渲染:计算机根据模型创建图象.模型(或物体)是由几何图元构成的,而几何图元是通过顶点来指定的.最终渲染的图象由屏幕像素组成.像素(pixel)是显示硬件能够放置到屏幕上的最小的可视元素.有关像素的 ...
- 【GAMES101】作业3 Pipeline and Shading
[GAMES101]作业3 Pipeline and Shading 一.作业描述 二.作业解析 **1. blinn-phong模型** **漫反射光** **高光** **环境光** **漫反射+ ...
- Three.js基础探寻七——Lamber材质与Phong材质
材质(Material)是独立于物体顶点信息之外的与渲染效果相关的属性.通过设置材质可以改变物体的颜色.纹理贴图.光照模式等. 本篇将介绍基本材质以及两种基于光照模型的材质(Lamber与Phong) ...
最新文章
- 每日算法练习之下落的小球
- Domain Driven Design
- 考虑 PHP 5.0~5.6 各版本兼容性的 cURL 文件上传
- 公共界面_小区公共区域广告收益究竟归谁?
- nodeJS 事件绑定
- C和指针笔记 3.8 static关键字
- 为Mac安装homebrew
- TCP三次握手及四次挥手详解
- 打包node服务端_如何基于NodeJS从零构建线上自动化打包工作流?
- 月薪3W+,人才缺口高达19W,行业大牛5天带你零基础入门数据分析!
- Ubuntu 使用 Cron 实现计划任务
- 氨基-peg2000-水溶CulnS/ZnS量子点|NH2-PEG-CulnS/ZnSQDS的透射电镜(TEM)和高分辨透射电镜(HRTEM)图片
- 二值图像快速细化算法
- 国庆假期微信大数据报告
- WiFi共享精灵文件传输新功能:金币话费领不停
- 在html中frame标签的作用,HTML中的frame标签常见的6大属性,新手一定要悉知!
- python爬虫从入门到实践pdf百度云_PYTHON网络爬虫从入门到实践.pdf
- ubuntu中创建新用户并添加管理员权限
- 杠杆炒股的两种操作方法
- [Violet]蒲公英(分块)
热门文章
- 如何在重装SAV10.1/SCS3.1服务器后继续管理原来的客户端
- c++ qt获取电脑的内存_QT开发(十四)——QT绘图系统
- geany配置python3.8_Parrot security 4.10-amd64
- java stub_Java Stub 研究学习(2)
- 批量文件替换_CAD图形文件中如何快速批量替换文字?【AutoCAD教程】
- 3-29Pytorch与autograd梯度与机器学习
- php 什么情况下加异常,PHP中的异常
- java中复制图片_如何在Java中实现复制图片
- SpringCloud Consul Config 配置中心(一)
- 鸿蒙服务卡片-哔哩哔哩弹幕姬