depth peeling是一种利用shadow mapping来模拟depth test的技术,利用它,可以实现order-independent transparency和woo shadow mapping等需要逐层剥离深度的特效。
下面是一个depth peeling demo,用4pass剥离了4层,效果不错,效率也很“惊人”。:D
需要硬件支持如下扩展:
GL_ARB_multitexture
GL_ARB_texture_env_combine
GL_ARB_vertex_program
GL_ARB_fragment_program
GL_ARB_fragment_program_shadow
GL_ARB_texture_rectangle
GL_ARB_depth_texture
GL_ARB_shadow
GL_EXT_shadow_funcs
控制方式:
wasdzxqe 控制视角
+- 切换 混合 layer0~3 状态
esc 退出
demo:
http://downloads.cnblogs.com/CGTeam/Member/Pointer/dlls.rar
https://files.cnblogs.com/Pointer/depth_peeling.rar
相关资料:
http://developer.nvidia.com/object/Interactive_Order_Transparency.html
http://developer.nvidia.com/object/order_independent_transparency.html
http://download.developer.nvidia.com/developer/SDK/Individual_Samples/DEMOS/OpenGL/layerz_3x.zip