小星星的天空

O(∩_∩)O 小月亮的fans ^_^

  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理 ::
  16 随笔 :: 0 文章 :: 61 评论 :: 0 Trackbacks



这周主要是研究了一下shadow map 算法。看起来简单,实现起来还真不容易。不过做出来以后回头一看,也没什么。

我的方法还比较笨拙,先绘制一遍场景,计算出深度,存储到一个纹理中。然后第二遍绘制的时候,把点用第一次绘制的时候的矩阵变换一下,读取出纹理中的值于变换后的z比较。期间遇见了奇怪的矩阵不一致问题,对于opengl中矩阵跟cg的矩阵有什么关系,还是不大清楚,为什么从opengl中读出的矩阵直接输入到cg中就不对呢,非要用他内置的变量呢?

大地形时锯齿现象还是比较严重,虽然采样了9个点,但是过度还是不那么自然。

    现在模拟出来的现象,比较像点光源。跟透视投影有关吧,那么要是模拟太阳光,是不是就得用正交投影呢?
   
    如果哪位大哥能帮助我解决这些疑问,不胜感激!

   附几张效果图,给大家娱乐一下:)

   



加了消除锯齿的



未加消除锯齿的:)

下面是随意截得几个场景!




posted on 2009-05-23 20:10 Little Star 阅读(1653) 评论(2)  编辑 收藏 引用 所属分类: Computer Graphics

评论

# re: shadow map 初体验 2009-05-23 21:21 xoyojank
看看nVidia SDK里的例子
有PSM/TSM算法优化, Box Clip, VSM模糊, PSSM多RTT
BoxClip最简单起效快, 参考PSM demo中的平行投影矩阵实现  回复  更多评论
  

# re: shadow map 初体验 2009-05-24 15:43 九久读书人
BoxClip最简单起效快  回复  更多评论
  


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理