ZBuffer裁剪planar shadow
来源:互联网 发布:学生空间-七天网络 编辑:程序博客网 时间:2024/04/29 03:25
适当的操作ZBuffer可以巧妙的完成一些任务,比如我要在擂台的边缘裁剪人的影子。擂台的特点是边缘之外的地方比较低。将影子埋在擂台表面下一点点,先绘制擂台,然后改变z test func,改为greater,并关闭zwrite,然后绘制影子,因为影子是在擂台下面的,这样从擂台上方看,影子具有比擂台表面更大的z值,opengl中z值大意味着离camera远,按照正常的z测试方法,GL_LESS或GL_LEQUAL通过测试,这样影子应该画不出来,而如果将z testfunc设为GL_GREATER,离camera远的影子反而绘制在擂台表面上了。而在擂台的边缘,因为擂台外的像素会比影子更低,影子的z会比较小,不能通过GL_GREATER的测试,这样擂台边缘外的影子片段就不能绘制了,也就达到了裁剪的目的。同时由于绘制影子时关闭了zwrite,影子的z值不会被写入,也就意味着影子之后绘制的东西能挡住影子,比如人总能踩住影子。之后恢复正常的z test并打开zwrite,绘制人和其他物体。
当然这个方法也并不完美,比如镜头前的物体会挡住影子,影子会浮在擂台后比较高的物体上,比如墙。我的影子是简单的平面阴影,设备没有模板缓冲,这么做似乎已经是可以达到的最好结果了。
- ZBuffer裁剪planar shadow
- Shadow Matrix in Planar Shadow
- 无stencil buffer,绘制半透明planar shadow的一种方法
- shader之旅-7-平面阴影(planar shadow)
- planar
- 添加ZBuffer
- Logarithmic zbuffer artifacts fix
- 【OpenGL】透视和ZBuffer
- shadow
- shadow
- shadow
- shadow
- shadow
- Planar projection
- Planar Graph
- shadow! shadow!
- 关于yuv 格式-Semi Planar和Planar
- 关于yuv 格式-Semi Planar和Planar
- 3D图形数学(7)
- lens flare:镜头光晕
- opengl粒子系统的渲染方式
- 关于webLucene的安装
- 3D图形数学(8)
- ZBuffer裁剪planar shadow
- 求佛
- 插入排序:InsertSort:no more than ten lines
- 审慎乐观
- PageRank简介
- 传智播客学习笔记5.4
- 传智播客学习笔记5.5
- 3D几何流水线之模型变换
- 传智播客学习笔记5.6