OpenGL ES 学习教程(七) 瞎子打灯,照亮他人,浅谈Ambient Lighting 环境光照
来源:互联网 发布:php装修公司网站源码 编辑:程序博客网 时间:2024/04/30 21:39
我是一个立方体,我头顶上有一个灯,但是我离灯太远了,所以你看我有一点暗淡。即时灯灭了,你也能找到我,因为还有天上的星星照耀。
Ambient Lighting 环境光照 描述的就是 在开放的空间中,物体会受到周围的 各种光源 的影响。物体可能会变暗,但是绝对不会变成纯黑。你一定能看见它。
如果我们要精确的计算不同的光源 对 物体的影响,那被成为 Global Illumination 全局光照,也许后面会学到,但是现在让我们来一个最简单的 Ambient Lighting。
想象一下,环境光 对物体会造成不太同的 明暗效果。我们只需要在 Fragment Shader 中,设置一个光照强度系数 ,就可以模拟。
上一节中,我们在 代码中设定了 lightColor,然后 Fragment Shader中 将 物体颜色和光照颜色相乘,得到最终的效果。
现在我再添加一个 光照强度系数 到 Fragment Shader中。
修改 GLProgram_Cube.h Line59 如下
const char* fragmentShader ={"precision lowp float;""uniform vec3 m_color;""uniform vec3 m_lightcolor;""void main()""{"" float ambientStrength=0.1;""vec3 ambient=ambientStrength * m_lightcolor;""vec3 result=ambient * m_color;""gl_FragColor=vec4(result,1.0);""}"};
添加了 光照强度系数 ambientStrength ,并且设置为 0.1 ,这样就模拟了物体收到比较弱的光照。
然后 ambientStrength 和 光照 颜色相乘。
再和 物体本身 颜色相乘。
得到最终效果:
示例工程下载:
http://pan.baidu.com/s/1mhhxRks
0 0
- OpenGL ES 学习教程(七) 瞎子打灯,照亮他人,浅谈Ambient Lighting 环境光照
- OpenGL ES 学习教程(七) 物有两面,即使前面有一盏灯,也照不透背后。解析Diffuse Lighting 漫反射光照
- OpenGL ES 学习教程(七) 亮瞎狗眼的 Specular Lighting 镜面高光
- OpenGL教程翻译 第十七课 环境光(Ambient Lighting)
- Android OpenGL ES 开发教程:设置光照效果Set Lighting
- Android OpenGL ES 开发教程:设置光照效果Set Lighting
- 光照与渲染(八)- 环境光照(Ambient Lighting)
- Android OpenGL ES 开发教程(26):设置光照效果Set Lighting
- Android OpenGL ES 开发教程(26):设置光照效果Set Lighting
- Android OpenGL ES 开发教程(26):设置光照效果Set Lighting
- Android OpenGL ES设置光照效果Set Lighting
- OpenGL学习脚印: 光照基础(basic lighting)
- OpenGL ES 简单光照学习
- OpenGL ES 学习教程(九) 油腻的效果 Lighting Maps 高光贴图
- OpenGL学习: 光照系列2-材质和lighting maps使用
- Android OpenGL ES 开发教程(25):OpenGL光照模型
- Android OpenGL ES 开发教程(25):OpenGL光照模型
- Android OpenGL ES 开发教程(25):OpenGL光照模型
- 每天一个linux命令之coreutils包: [命令
- DLch1
- 每天一个linux命令之coreutils包: base64命令
- Linuxmint17.2我的私人定制
- 随机梯度下降(SGD)
- OpenGL ES 学习教程(七) 瞎子打灯,照亮他人,浅谈Ambient Lighting 环境光照
- Qumulo仪表盘前端开发技术:React + D3.js
- 《近匠》AR学校:从教育领域看增强现实机遇何在
- 监控Hbase是否可用的外挂程序
- SetWaitableTimer定时器的使用
- Python机器学习数据挖掘工具sklearn安装和使用
- malloc和free函数详解
- 二进制枚举
- 二进制枚举