OpenGL ES 正反面的灯光照射初探

简介: OpenGL ES 正反面的灯光照射初探 太阳火神的美丽人生 (http://blog.csdn.net/opengl_es) 本文遵循“署名-非商业用途-保持一致”创作公用协议 转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。

OpenGL ES 正反面的灯光照射初探

太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)

本文遵循“署名-非商业用途-保持一致”创作公用协议

转载请保留此句:太阳火神的美丽人生 -  本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino否则,出自本博客的文章拒绝转载或再转载,谢谢合作。


在  OpenGL ES 中如何实现在房间中查看屋内摆设的效果 中我们已经做到了,只查看一个几何体的内部,但内部是黑的。

这个问题涉及到灯光,那么我们可以思考一下,这一部分之所有能看到是顶点按反向做为正面,而且告诉了GPU只渲染正面,但我们提供的法线是决定灯光是如何在每个顶点上被反射的,那么就可以理解了,灯光还是按原来的方向反射,这时我们考虑让法线反过来,这样内面就可以被灯光照射到了。


做起来很简单,不用像1.1中那橛,需要设置glLightMode来改变灯光模式,估计固定渲染管线中内部封装的也是改变法线的做法吧。

我们在2.0中,因灯光相关的API都取消了,所有的灯光计算都在着色器中进行,并作用到最后的片元颜色上,那么法线这种决定灯光的东西,也得直接到着色器中去做了。直接给法线变量前加个负号,这样就可以将你提供的模型中的顶点属性的法线部分取反向了。

目录
相关文章
|
1月前
|
XML 小程序 Java
【Android App】三维投影OpenGL ES的讲解及着色器实现(附源码和演示 超详细)
【Android App】三维投影OpenGL ES的讲解及着色器实现(附源码和演示 超详细)
69 0
|
存储 编解码 算法
Opengl ES之LUT滤镜(上)
Opengl ES之连载系列
361 0
|
数据安全/隐私保护 开发者
OpenGL ES 多目标渲染(MRT)
Opengl ES连载系列
240 0
|
数据安全/隐私保护 索引
Opengl ES之纹理数组
Opengl ES连载系列
199 0
|
数据安全/隐私保护
Opengl ES之水印贴图
Opengl ES之连载系列
102 0
|
Java 数据安全/隐私保护 Android开发
Opengl ES之矩阵变换(下)
Opengl ES连载系列
92 0
|
Java API 数据安全/隐私保护
Opengl ES之矩阵变换(上)
Opengl ES连载系列
95 0
|
缓存 C++
Opengl ES之FBO
Opengl ES连载系列
100 0
|
存储
Opengl ES之踩坑记
Opengl ES之连载系列
100 0
|
存储 编解码 算法
Opengl ES之RGB转NV21
Opengl ES连载系列
122 0