使用Qt实现的阴影映射(源代码)
要实现基于OpenGL ES 2.0的阴影映射,要攻克这三个技术难点: 1、 熟练操作FBO。帧缓存FBO是需要熟练操控的,因为FBO可以很快地将深度图写入一块显存中,然后作为纹理渲染到真实的场景中。 2、 掌握着色器的使用。由于OpenGL ES 2.0只允许使用着色器来对其进行渲染,因此对着色器的书写熟练程度要求较高。 3、 掌握将float深度数据分拆成vec4再将vec4合并成float的操作。这个已经成为业内熟练掌握的技能之一了,网络上搜索“how to pack float into RGBA”,能够得到很多有用的回答。
文件列表
使用Qt实现的阴影映射.7z
(预估有个16文件)
TestCustomShadowMap
v_depth_map.glsl
415B
ShadowRenderer.h
147B
TestCustomShadowMap.pro
267B
v_with_shadow.glsl
830B
ShadowRenderer.cpp
75B
Plane.h
386B
OpenGLWidget.h
2KB
f_depth_map.glsl
777B
f_with_simple_shadow.glsl
2KB
用户评论