龙书9 chapter8 stencil的平面阴影的实现(planer shadow)

笔记:1.向量乘法不满足交换律; a*b*c和a*(b*c)不同。

planer shadow关键点:1.数学方面:射线与平面的交点坐标是多少?   2.运用stencil标记防止阴影在平面的二次绘制。

 

1.射线与平面交点的矩阵:MSDN: http://msdn.microsoft.com/en-us/library/windows/desktop/bb205364%28v=vs.85%29.aspx

推导过程参考,图片。   来源是:http://www.opengpu.org/forum.php?mod=viewthread&tid=15214&highlight=D3DXMatrixShadow

我推导时一直有问题,1.原来是point 阴影点坐标(x,y,z,K)第四位为k也是可以的,不一定要是1,还有就是verctor3和verctor4有时搞混淆

其实下图中的推导和MSDN上的表示有些不同,这里的向量N是(nx,ny,nz,0),而不是(nx,ny,nz,d)...

 

至于流程:

防止多重绘制阴影方面:首先像素stencil pass设置成与ref相同的话成功,并修改为1,这样的话此像素模板值已经修改,第二次就不会pass此像素,则不会再绘制此像素;    其次注意不需要把影子数据写入zbuffer内,    第三要注意与平面的融合

 

1.模板缓存和深度缓存共享一个表面存储区,两者是同时创建的;

2.模板可以阻止某些像素的光栅化。

转载于:https://www.cnblogs.com/dust-fly/p/4161823.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值