zoukankan      html  css  js  c++  java
  • 龙书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.模板可以阻止某些像素的光栅化。

  • 相关阅读:
    关于CG Relighting系统设计的片言碎语
    [F&Q:How To Learn Computer Graphic]如何学习计算机图形学
    以后再也不写英文的文章了
    [D80]天井
    [应邀发布]Rapidmind Development Platform Download
    vs2008 结构体托管
    换实验室
    3D
    【入门】点击按钮添加输入框
    【入门】PHP与数据库连接
  • 原文地址:https://www.cnblogs.com/dust-fly/p/4161823.html
Copyright © 2011-2022 走看看