OpenGL高级光照Advanced Lighting

  • 高级光照Advanced Lighting简介
  • Blinn-Phong

高级光照Advanced Lighting简介

在光照小节中,我们简单地介绍了冯氏光照模型,它让我们的场景有了一定的真实感。虽然冯氏模型看起来已经很不错了,但是使用它的时候仍然存在一些细节问题,我们将在这一节里讨论它们。

Blinn-Phong

冯氏光照不仅对真实光照有很好的近似,而且性能也很高。但是它的镜面反射会在一些情况下出现问题,特别是物体反光度很低时,会导致大片(粗糙的)高光区域。下面这张图展示了当反光度为1.0时地板会出现的效果:

可以看到,在镜面高光区域的边缘出现了一道很明显的断层。出现这个问题的原因是观察向量和反射向量间的夹角不能大于90度。如果点积的结果为负数,镜面光分量会变为0.0。你可能会觉得,当光线与视线夹角大于90度时你应该不会接收到任何光才对,所以这不是什么问题。

OpenGL 高级光照Advanced Lighting相关推荐

  1. OpenGL 高级数据Advanced Data

    OpenGL高级数据Advanced Data 高级数据Advanced Data简介 分批顶点属性 复制缓冲 高级数据Advanced Data简介 我们在OpenGL中大量使用缓冲来储存数据已经有 ...

  2. OpenGL 基础光照ColorsBasic Lighting

    OpenGL 基础光照ColorsBasic Lighting 基础光照ColorsBasic Lighting简介 环境光照 漫反射光照 法向量 计算漫反射光照 最后一件事 镜面光照 基础光照Col ...

  3. QT+OpenGL高级光照 Blinn-Phong和Gamma校正

    QT+OpenGL高级光照1 本篇完整工程见gitee:QtOpenGL 对应点的tag,由turbolove提供技术支持,您可以关注博主或者私信博主 Blinn-Phong 冯氏光照:视线与反射方向 ...

  4. opengl高级光照之延迟渲染以及光体积

    延迟着色法 延迟着色法官方文档 我们现在一直使用的光照方式叫做正向渲染(Forward Rendering)或者正向着色法(Forward Shading),它是我们渲染物体的一种非常直接的方式,在场 ...

  5. OpenGL 高级GLSL(Advanced GLSL)

    OpenGL 高级GLSL OpenGL 高级GLSL简介 GLSL的内建变量 顶点着色器变量 片段着色器变量 接口块 Uniform缓冲对象 Uniform块布局 使用Uniform缓冲 一个简单的 ...

  6. opengl高级光照之gamma校正

    官方文章 gamma校正 gamma校正概念 一个渐变的效果 通过以下网站调整Gamma值可以观察到效果 色彩管理网 gamma校正 Gamma校正(Gamma Correction)的思路是在最终的 ...

  7. opengl高级光照之法线贴图

    法线贴图 opengl官方文档 核心修改的就是片段着色器中的normal值 uniform sampler2D normalMap; void main() { // 从法线贴图范围[0,1]获取法线 ...

  8. opengl高级光照之视差贴图(陡峭视差贴图以及视差遮蔽映射)

    视差贴图 视差贴图官方文档 视差贴图 视差贴图(Parallax Mapping)技术和法线贴图差不多,但它有着不同的原则.和法线贴图一样视差贴图能够极大提升表面细节,使之具有深度感.它也是利用了视错 ...

  9. 3ds Max 2019: Advanced Lighting 3ds Max 2019:高级照明 Lynda课程中文字幕

    3ds Max 2019: Advanced Lighting 中文字幕 3ds Max 2019:高级照明 中文字幕3ds Max 2019: Advanced Lighting 在3ds Max中 ...

最新文章

  1. 解决android引用library project错误
  2. oracle 函数参数类型,ORACLE 11g中的表值函数? (参数化视图)
  3. 再读simpledb 之 元数据管理(3)
  4. 062_JavaScript异常
  5. Linux平台下 vimrc配置(转网友:http://blog.csdn.net/wooin/article/details/1887737)
  6. 递归函数就兔子数C语言,【C语言】求斐波那契(Fibonacci)数列通项(递归法、非递归法)...
  7. 揭秘!业界创新的代码仓库加密技术
  8. 一个API方式存取日志文件的模块[VB]
  9. 还原真实的 cache recovery
  10. mysql通过centos本地命令行还原数据库出现乱码问题
  11. singleTop对onActivityForResult的影响
  12. java jsp网页计算器_使用jsp+javaBean写一个网页计算器
  13. SVN分支管理以及跨分支打包
  14. 超标量处理器设计 姚永斌 第10章 指令提交 摘录
  15. 从百草园到三味书屋感想
  16. 如何才能解决堵车?这个实验告诉你答案!
  17. 迷宫 动画 java_Java实现可视化迷宫
  18. Java之原子性-乐观锁与悲观锁
  19. Java游戏项目之王者荣耀
  20. html--P1-P10

热门文章

  1. sklearn字典特征提取
  2. 查询七天之内所有生日的客户
  3. linux du命令重定向,df命令、du命令 、磁盘分区
  4. 简单介绍:什么是Python?Python好学吗?
  5. Python教程:一篇文件教你py文件打包成exe
  6. android 自定义图片上传,android自定义ImageView仿图片上传(示例代码)
  7. 台式电脑怎么改计算机名,台式电脑的设置在哪里
  8. time库是python中处理时间的标准库_python语言time库和datetime库基本使用详解
  9. arduino黑线循迹小车程序_循迹小车:给我一条线,我能自己走完全程
  10. IDEA 点击进入方法内部_【推荐收藏】IDEA的Debug调试,你全会用么?