首页 > 其他分享 >冯氏光照

冯氏光照

时间:2023-08-03 09:37:01浏览次数:28  
标签:冯氏 颜色 物体 漫反射光 ambient 光照

冯氏光照

冯氏光照主要结构由三个元素组成:环境(ambient),漫反射(Diffuse)和镜面光照。
image

  • 环境光照:就是即使在非常黑暗的环境下,也有一丝的光(比如月光),这样使得物体表面也有一点颜色。
  • 漫反射光照:模拟一个发光物对于物体的方向性影响。就是比如太阳光射过来,阳面肯定比阴面亮。
  • 镜面反射:给物体表面打一个亮点,相比于物体的颜色,更倾向于光的颜色。

环境光照

利用code,把环境光照添加到场景中比较简单。首先给光的颜色乘以一个数值非常小的常量,之后在乘以物体的颜色,然后使用它作为片段的颜色。

void mian(){
 float alpha = 0.1f;
 vec3 ambient = alpha * lightColor;
 vec3 result = ambient * objectColor;
 color = vec4(result, 1.0f);
}

image

漫反射光照

漫反射使物体上与光线排布越近的片段,越能从光源处获得更多的亮度。这就使得漫反射光照会对物体产生更加显著的视觉影响。

  • 1、需要什么来计算漫反射光照?
    主要使用法向量和定向的法线去计算漫反射光照。
  • 2、这里说的法向量是什么?
    它是垂直于片段表面的一种向量(这里以黄色箭头表示)。
    image

标签:冯氏,颜色,物体,漫反射光,ambient,光照
From: https://www.cnblogs.com/peixu/p/17601824.html

相关文章

  • 基于C语言设计的全局光照明模型
    完整资料进入【数字空间】查看——搜索"writebug"Part1Whitted-StyleRayTracingStep0.算法流程为了渲染出一张图片,RayTrace()计算了给定像素点的色彩取值。根据光路可逆原理,可以从人眼作为出发点,沿着指向该pixel的某一点的方向发出一条ray。Step1:射线求交这条ray会碰到一个......
  • ESP8266 获取新大陆温湿度光照模块值
    光照是ADC输出的,温湿度走的是I2C。光照直接采样用公式转换即可。光照接线图如下:参考代码(基于Arduino):voidsetup(){Serial.begin(9600);}floatVref=3.3;//参考电压floatR=100.0;//分压电阻阻值floatvalue=0;voidloop(){intsensorValue......
  • 8.混合图层以创建强大纹理和光照效果
    1.导入要融合的图片,红色箭头点击后绿色箭头才可编辑2.透明度调整为50%  3.图层融合方式调整为不同效果-变亮、强光  ......
  • 【雕爷学编程】Arduino动手做(162)---OPT101模拟光照传感器模块3
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是......
  • 【雕爷学编程】Arduino动手做(162)---OPT101模拟光照传感器模块2
    37款传感器与执行器的提法,在网络上广泛流传,其实Arduino能够兼容的传感器模块肯定是不止这37种的。鉴于本人手头积累了一些传感器和执行器模块,依照实践出真知(一定要动手做)的理念,以学习和交流为目的,这里准备逐一动手尝试系列实验,不管成功(程序走通)与否,都会记录下来—小小的进步或是搞......
  • Unity Shader 基础光照(build)
    1.光学基础1.1光源:光线由光源发出,在实时渲染中,我们通常把光源当成一个没有体积的点。用l代表光的方向,用辐照度来量化光的强度。辐照度的意思表示垂直于l的单位面积上单位时间穿过的能量。如果光于平面不垂直,则辐照度为cosS/l,S为光线与平面法线的夹角。1......
  • 基于蒙特卡洛概率潮流计算 在IEEE33节点系统中,由于风光出力的不确定性,利用蒙特卡洛生
    基于蒙特卡洛概率潮流计算在IEEE33节点系统中,由于风光出力的不确定性,利用蒙特卡洛生成风速和光照强度得到出力,可得到每个节点的电压和支路功率变化,网损和光照强度。这段程序主要是进行电力系统潮流计算和蒙特卡洛仿真。下面我会对程序进行详细的分析和解释。原创文章,转载请说明......
  • STM32通过ADC1读取光敏电阻的值转换光照强度
    【1】光敏电阻的原理光敏电阻是一种半导体元件,它的电阻值会随着照射在其表面的光线强度的变化而发生改变。当光线越强,光敏电阻的电阻值就越小;当光线较弱或没有光照射时,电阻值就会增大。光敏电阻广泛应用于光电控制、光度计、自动调节亮度灯等领域。常见的光敏电阻有硫化镉(CdS)光敏电......
  • QT圆形进度条(桌面项目光照强度检测)
    (文章目录)前言本篇文章我们讲解QT实现圆形进度条,并实现动态的效果。一、编程思路实现QT圆形进度条其实是非常简单的,思路就是画两个圆弧。这里大家就会觉得很奇怪了为什么画两个圆弧就能实现圆形进度条了呢?那么下面我们一个个圆弧来画看看效果。代码:painter.translate(......
  • 05 高级光照
    一、Blinn-Phongmodel冯氏模型的镜面反射采取了观察方向与反射方向的夹角,这样会造成当夹角大于九十度时,就会造成镜面反射光为零,这样一般情况下问题不大,但是当镜面反射的glossy程度比较大时,就会出现镜面反射边缘的截断现象。Blinn-Phongmodel改用半程向量与法线的夹角,解决了问......