OpenGL ES 正反面的灯光照射初探
2013-12-09 23:05
92 查看
OpenGL ES 正反面的灯光照射初探
太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商业用途-保持一致”创作公用协议
转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
在 OpenGL ES 中如何实现在房间中查看屋内摆设的效果 中我们已经做到了,只查看一个几何体的内部,但内部是黑的。
这个问题涉及到灯光,那么我们可以思考一下,这一部分之所有能看到是顶点按反向做为正面,而且告诉了GPU只渲染正面,但我们提供的法线是决定灯光是如何在每个顶点上被反射的,那么就可以理解了,灯光还是按原来的方向反射,这时我们考虑让法线反过来,这样内面就可以被灯光照射到了。
做起来很简单,不用像1.1中那橛,需要设置glLightMode来改变灯光模式,估计固定渲染管线中内部封装的也是改变法线的做法吧。
我们在2.0中,因灯光相关的API都取消了,所有的灯光计算都在着色器中进行,并作用到最后的片元颜色上,那么法线这种决定灯光的东西,也得直接到着色器中去做了。直接给法线变量前加个负号,这样就可以将你提供的模型中的顶点属性的法线部分取反向了。
太阳火神的美丽人生 (http://blog.csdn.net/opengl_es)
本文遵循“署名-非商业用途-保持一致”创作公用协议
转载请保留此句:太阳火神的美丽人生 - 本博客专注于 敏捷开发及移动和物联设备研究:iOS、Android、Html5、Arduino、pcDuino,否则,出自本博客的文章拒绝转载或再转载,谢谢合作。
在 OpenGL ES 中如何实现在房间中查看屋内摆设的效果 中我们已经做到了,只查看一个几何体的内部,但内部是黑的。
这个问题涉及到灯光,那么我们可以思考一下,这一部分之所有能看到是顶点按反向做为正面,而且告诉了GPU只渲染正面,但我们提供的法线是决定灯光是如何在每个顶点上被反射的,那么就可以理解了,灯光还是按原来的方向反射,这时我们考虑让法线反过来,这样内面就可以被灯光照射到了。
做起来很简单,不用像1.1中那橛,需要设置glLightMode来改变灯光模式,估计固定渲染管线中内部封装的也是改变法线的做法吧。
我们在2.0中,因灯光相关的API都取消了,所有的灯光计算都在着色器中进行,并作用到最后的片元颜色上,那么法线这种决定灯光的东西,也得直接到着色器中去做了。直接给法线变量前加个负号,这样就可以将你提供的模型中的顶点属性的法线部分取反向了。
相关文章推荐
- OpenGL ES 灯光,想说爱你并不是很容易的事
- Android OpenGL ES 2.0 (三) 灯光per-vertex lighting
- openGL es2.0 创建灯光颜色球
- Android OpenGL ES 2.0 (四) 灯光per-fragment lighting
- openGL es2.0 创建纹理灯光球
- OpenGL ES初探(一) -- 用OpenGL画一个三角形(1)
- OpenGL ES 学习教程(七) 事实上并没有所谓的灯光,只是大家都装作发亮
- OpenGL ES 正反面设置指令
- 网页被灯光照射特效
- OpenGL ES初探(二) -- 用OpenGL画一个三角形(2)
- 场景中,并没有灯源的存在,但是cube却会有灯光照射的反应,这就是Light Probe Group的作用。
- javaFX初探(灯光)
- OpenGL ES 正反面设置指令
- OpenGL ES 同样的灯光计算在顶点着色器和在片元着色器中计算有什么不同
- openGL es2.0 创建纹理灯光球
- 关于OpenGL ES中灯光与材质的疑惑
- OpenGL ES 烘焙图遇上灯光会是什么样?!
- PB11.5,PB12 web项目初探
- IP地址初探
- Leetcode 412 Fizz Buzz及vector初探