OpenGL ES之基础光照模型的实现

Posted ╰つ栺尖篴夢ゞ

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了OpenGL ES之基础光照模型的实现相关的知识,希望对你有一定的参考价值。

一、OpenGL ES 基础光照模型

  • OpenGL ES 目前还无法模拟现实世界的复杂光照效果,为了在效果要求和实现难度之间做一个平衡,往往采用一些简化的模型来模拟光照效果。
  • 冯氏光照模型(Phong Lighting Model)便是其中常用的一个光照模型,它由三种元素光组成,分别是环境光(Ambient Lighting)、散射光(Diffuse Lighting)及镜面光(Specular Lighting)。

① 环境光

  • 环境光表示从四面八方照射到物体上且各个方向都均匀的光,不依赖于光源位置,没有方向性。
  • 要把环境光照添加到场景里,只需用光的颜色乘以一个(数值)很小常量环境因子,再乘以物体的颜色,然后使用它作为片段的颜色:
void main() 
   
    float ambientStrength 

以上是关于OpenGL ES之基础光照模型的实现的主要内容,如果未能解决你的问题,请参考以下文章

Unity Shader 光照模型(基础公式和代码实现)

Linux OpenGL 实践篇-6 光照

OpenGL ES着色语言-光照效果之散射光

OpenGL ES着色语言-光照效果之散射光

OpenGL ES着色语言-光照效果之散射光

✠OpenGL-7-光照