材质的颜色与光源的颜色有些不同。对于光源,R、G、B值等于R、G、B对其最大强度的百分比。若光源颜色的R、G、B值都是1.0,则是最强的白光;若值变为0.5,颜色仍为白色,但强度为原来的一半,于是表现为灰色;若R=G=1.0,B=0.0,则光源为黄色。对于材质,R、G、B值为材质对光的R、G、B成分的反射率。比如,一种材质的R=1.0、G=0.5、B=0.0,则材质反射全部的红色成分,一半的绿色成分,不反射蓝色成分。也就是说,若OpenGL的光源颜色为(LR、LG、LB),材质颜色为(MR、MG、MB),那么,在忽略所有其他反射效果的情况下,最终到达眼睛的光的颜色为(LR*MR、LG*MG、LB*MB)。
  同样,如果有两束光,相应的值分别为(R1、G1、B1)和(R2、G2、B2),则OpenGL将各个颜色成分相加,得到(R1+R2、G1+G2、B1+B2),若任一成分的和值大于1(超出了设备所能显示的亮度)则约简到1.0。

OpenGL学习之材质RGB值和光源RGB值关系相关推荐

  1. 【OpenGL学习笔记⑧】——键盘控制正方体+光源【冯氏光照模型 光照原理 环境光照+漫反射光照+镜面光照】

    ✅ 重点参考了 LearnOpenGL CN 的内容,但大部分知识内容,小编已作改写,以方便读者理解. 文章目录 零. 成果预览图 一. 光照原理与投光物的配置 1.1 光照原理 1.2 投光物 二. ...

  2. 从零开始学习OpenGL ES之五 – 材质

    从零开始学习OpenGL ES之五 – 材质 作者: iPhoneGeek 爱疯极客 09-Jan-10 iPhone Development 浏览次数: 411 |  评论 ↓ Tweet Shar ...

  3. OpenGL学习: 光照系列3-光源类型和使用多个光源

    写在前面  上一节光照中使用材质和lighting maps介绍了使用材质属性和lighting maps使物体的光照效果能反映物体的材料特性,看起来更逼真.在前面的章节中使用的实际上都是一个点光源, ...

  4. OpenGL学习脚印:光源类型和使用多个光源(Light source and multiple lights)

    写在前面 上一节光照中使用材质和lighting maps介绍了使用材质属性和lighting maps使物体的光照效果能反映物体的材料特性,看起来更逼真.在前面的章节中使用的实际上都是一个点光源,本 ...

  5. OpenGL学习(九)阴影映射(shadowMapping)

    目录 写在前面 阴影映射原理简介 封装 Camera 类 帧缓冲 阴影映射 准备工作 创建帧缓冲与深度纹理附件 从光源方向进行渲染 正常地渲染场景 如何查找bug(⚠重要) 多纹理传送 查看深度纹理数 ...

  6. Unreal Engine4(虚幻4)学习心得-材质

    Unreal Engine4(虚幻4)学习心得-材质 材质 制作材质的过程其实就相当于在写shader,只是UE4制作材质使用的是可视化方式在写shader.下面将介绍一些材质属性: Blend Mo ...

  7. OpenGL学习(十)天空盒

    目录 写在前面 天空盒简介 创建立方体贴图 渲染一个立方体 立方体贴图着色器 开始绘制天空盒 完整代码 着色器 c++ 写在前面 上一篇博客回顾:OpenGL学习(九)阴影映射(shadowMappi ...

  8. 【我的OpenGL学习进阶之旅】【持续更新】关于学习OpenGL的一些资料

    目录 一.相关书籍 OpenGL 方面 C方面 NDK 线性代数 二.相关博客 2.0 一些比较官方的链接 2.1 OpenGL着色器语言相关 2.2 [[yfan]](https://segment ...

  9. 【我的OpenGL学习进阶之旅】OpenGL ES 3.0新功能

    目录 1.1 纹理 1.2 着色器 1.3 几何形状 1.4 缓冲区对象 1.5 帧缓冲区 OpenGL ES 2.0 开创了手持设备可编程着色器的时代,在驱动大量设备的游戏.应用程序和用户接口中获得 ...

最新文章

  1. 连载《一个程序猿的生命周期》-《发展篇》 - 5.奶奶终于“自杀”了
  2. CentOS 7下安装UCSF Chimera
  3. 通信行业还是一个靠人际的行业
  4. UVa197 - Cube(TLE)
  5. Mac下Jekyll安装
  6. DTS-SHOP微信小程序多店铺商城平台java源码
  7. gflags.lib(gflags.obj) : error LNK2001: 无法解析的外部符号 __imp_PathMatchSpecA
  8. 命名空间“System.Web”中不存在类型或命名空间名称“HttpUtility”。是否缺少程序集引用?...
  9. mysql 标记_mysql-徽章/标记内容自用户上次看到以来已...
  10. java web 网络安全_Java Web中的入侵检测及简单实现
  11. 英克软件结合oracle,英克医药第三方物流管理软件
  12. mysql 读写分离_详解MySQL读写分离
  13. java调用百度地图api,展示世界地图
  14. IEEE Conference Template Letter
  15. 越王勾践剑“千年不腐”传奇
  16. 【人工智能】发展简史 | 复习笔记
  17. STM32F429第二十八篇之ADC
  18. 用 C语言模拟买猫的过程
  19. Python爬虫---爬取数据(上)
  20. html动画如何设置恢复原状态,CSS秘密花园: 动画状态

热门文章

  1. 《高级职称证书挂靠价格一览表》
  2. Larry wall - Perl之父
  3. 用Ogre实现画中画 [ 截图 ]
  4. 初识C语言——冒泡排序法
  5. 李白关于鸿蒙的诗,李白6首山水古诗,首首美到让人心碎
  6. php eclipse xampp,PHP版eclipse配置xampp
  7. Mysql创建Create Function
  8. C语言 - 隐式类型转换
  9. AspectJ介绍(一)
  10. C语言入门(1)——Hello World